Javascript 使用两个数组创建单个对象
我有两个长度相同的数组Javascript 使用两个数组创建单个对象,javascript,Javascript,我有两个长度相同的数组 ids = [123, 456, 789, ...., 999]; names = ['foo', 'bar', ... , 'zzz']; 我想创建一个数组,如 [ {id: 123, name: 'foo'}, {id: 123, name: 'bar'}, ..., {id: 999, name: 'zzz'} ] 如果可能的话,我会尽量避免使用forEach 有什么建议吗?地图可以吗 ids=[123456789999]; 名称=['foo','bar','
ids = [123, 456, 789, ...., 999];
names = ['foo', 'bar', ... , 'zzz'];
我想创建一个数组,如
[ {id: 123, name: 'foo'}, {id: 123, name: 'bar'}, ..., {id: 999, name: 'zzz'} ]
如果可能的话,我会尽量避免使用forEach
有什么建议吗?地图可以吗
ids=[123456789999];
名称=['foo','bar','baz','zzz'];
结果=ids.map(函数(u,i){
返回{id:ids[i],name:names[i]}
});
console.log(结果)
映射是否正常
ids=[123456789999];
名称=['foo','bar','baz','zzz'];
结果=ids.map(函数(u,i){
返回{id:ids[i],name:names[i]}
});
console.log(result)
如果不想使用任何高阶函数,只需执行以下操作:
var objects = [];
for (var i = 0; i < ids.length; i++) {
objects.push({id: ids[i], name: names[i]});
}
var对象=[];
对于(变量i=0;i
如果您不想使用任何高阶函数,请执行以下操作:
var objects = [];
for (var i = 0; i < ids.length; i++) {
objects.push({id: ids[i], name: names[i]});
}
var对象=[];
对于(变量i=0;i此处无需使用forEach
。使用类似于forEach的map
varids=[123456999];
变量名称=['foo','bar','zzz'];
var result=ids.map(函数(currentId,索引){
返回{
id:currentId,
名称:名称[索引]
};
});
控制台日志(结果)代码>此处无需使用forEach
。使用类似于forEach的map
varids=[123456999];
变量名称=['foo','bar','zzz'];
var result=ids.map(函数(currentId,索引){
返回{
id:currentId,
名称:名称[索引]
};
});
控制台日志(结果)代码>下面的代码使用了foreach
,但您不需要处理它。我希望这对你有用
ids=[123456789999];
名称=['foo','bar','zab','zzz'];
结果=ids.map(函数(u,i){
返回{id:ids[i],name:names[i]}
});
console.log(result)
下面的代码使用了foreach
,但您不需要处理它。我希望这对你有用
ids=[123456789999];
名称=['foo','bar','zab','zzz'];
结果=ids.map(函数(u,i){
返回{id:ids[i],name:names[i]}
});
console.log(result)
这或多或少也是我的答案。只是想为OP添加一条免责声明,让OP感到厌倦的是,对于两个独立的数组,一个数组的长度可能与另一个数组的长度不相等,在这种情况下,您可能最终无法将每一对都创建为文字,或者更糟的是,ids
数组的元素多于名称
,这会导致索引超出范围的错误。这或多或少也是我的答案。只是想为OP添加一条免责声明,让OP感到厌倦的是,对于两个独立的数组,一个数组的长度可能与另一个数组的长度不相等,在这种情况下,您可能最终无法将每一对都创建为文字,或者更糟的是,ids
数组的元素多于名称
,这将导致索引超出范围的错误。