javascript - 从数组合并到对象后的Javascript
问题描述
const arrays = [
[123, "string1"],
[4564564, "string2"],
[392341231, "string3"],
[1665342, "String4", 334934543, "string5"]
];
const s = arrays.reduce((acc, val) => {
return acc.concat(val);
});
// output:
// [123, "string1", 4564564, "string2", 392341231, "string3", 1665342, "String4", 334934543, "string5"]
展平阵列后,输出是number
一个string
,我试图用它reduce
来制作一个像
{
123: "string1",
4564564: "string2",
392341231: "string3",
1665342: "String4",
334934543: "string5"
}
.reduce(function(acc, cur, i) {
acc[cur] = cur;
return acc;
}, {});
输出错误,如何分离number
和string
内部reduce?谢谢
解决方案
您可以通过映射各个索引并将它们全部分配给一个新对象来轻松地做到这一点,这将减少您对中间步骤的需求
const arrays = [
[123, "string1"],
[4564564, "string2"],
[392341231, "string3"],
[1665342, "String4", 334934543, "string5"]
];
console.log( Object.assign( {}, ...arrays.map( i => ({[i[0]]: i[1] }) ) ) );
推荐阅读
- r - 如何将此表变成数据框?我正在使用 R。试图为它获取 ANOVA 表
- ios - 来自用户的电子邮件
- java - 我无法让 Java .Replace 对象根据扫描仪输入更改我的字符串
- c# - 将字符串中的数字替换为数字+“f”
- api - 在soapui中使用公钥/私钥身份验证测试api url
- java - 如何在 java 中创建持久化数组列表结构?
- python - 有人可以解释描述输入和输出的代码以及代码的主要步骤/注释行吗
- c# - Console.WriteLine 返回正确的值,但按钮给出错误“绑定:在 'xyz Xamarin.Forms.Button.Text 上找不到'名称'属性”
- java - 如何将元素添加到字符串但不每次都重置它?
- java - 文本中的字符位置