Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript创建具有多个属性的对象数组_Javascript_Arrays - Fatal编程技术网

使用javascript创建具有多个属性的对象数组

使用javascript创建具有多个属性的对象数组,javascript,arrays,Javascript,Arrays,如何创建具有两个属性的对象数组name和shade [{ “名称”:“黑色”, “阴影”:“黑暗” }, { “名称”:“白色”, “阴影”:“光” }, { “名称”:“红色”, “阴影”:“黑暗” }, { “名称”:“蓝色”, “阴影”:“黑暗” }, { “名称”:“黄色”, “阴影”:“光” } ]使用地图 var output = name.map( (s, i) => ({name : s, shade : shade[i]}) ); 演示 var name1=[“黑”

如何创建具有两个属性的对象数组
name
shade

[{
“名称”:“黑色”,
“阴影”:“黑暗”
}, {
“名称”:“白色”,
“阴影”:“光”
},
{
“名称”:“红色”,
“阴影”:“黑暗”
}, {
“名称”:“蓝色”,
“阴影”:“黑暗”
},
{
“名称”:“黄色”,
“阴影”:“光”
}
]
使用
地图

var output = name.map( (s, i) => ({name : s, shade : shade[i]}) );
演示

var name1=[“黑”、“白”、“红”、“蓝”、“黄”];
var shade=[“暗”、“亮”、“暗”、“暗”、“亮”];
var output=name1.map((s,i)=>({name:s,shade:shade[i]}));
控制台日志(输出)
var new_array=[];
//假设数组具有相同的长度
对于(变量i=0;i
您可以使用
.map()

let name=[“黑”、“白”、“红”、“蓝”、“黄”],
阴影=[“暗”、“亮”、“暗”、“暗”、“亮”];
让merge=(a1,a2)=>names.map((n,i)=>({name:n,shade:shades[i]}));
日志(合并(名称、阴影))

。作为控制台包装{max height:100%!important;top:0;}
您可以使用一个helper对象来寻址类型

var name=[“黑”、“白”、“红”、“蓝”、“黄”],
阴影=[“暗”、“亮”、“暗”、“暗”、“亮”],
temp={name:names,shade:shades},
结果=对象
.钥匙(临时)
.减少(
(r,k)=>(temp[k].forEach((v,i)=>(r[i]=r[i]| |{})[k]=v,r),
[]
);
控制台日志(结果)

.as console wrapper{max height:100%!important;top:0;}
谢谢..如果数组大小不同,如果我想将属性的第一个元素映射到shade属性的第三个元素,你会怎么做?我实际上是在寻找与此相反的结果。即。我有一个对象数组,希望将这两个属性拆分为两个不同的数组。有什么想法吗?
var new_array = [];
// assuming the arrays have the same length
for (var i = 0; i < name.length; i++)
    new_array.push({name: name[i], shade: shade[i]});