300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > javascript字典中添加数组_在javascript中合并两个字典数组

javascript字典中添加数组_在javascript中合并两个字典数组

时间:2022-05-24 20:30:04

相关推荐

javascript字典中添加数组_在javascript中合并两个字典数组

您可以使用

Array#map方法生成新数组(假设两个数组的顺序相同).

var lat = [{key:"-09-20T11:51:32.000Z", value:50.7825333},{key:"-09-20T11:51:33.000Z", value:50.7826}];

var lon = [{key:"-09-20T11:51:32.000Z", value:-1.3075833},{key:"-09-20T11:51:33.000Z", value:-1.3076}];

var res = lat

// iterate over the first array

.map(function(o, i) {

// generate the array element

// where get values from element and

// get value from second array using

// the index

return {

time: o.key,

lat: o.value,

lon: lon[i].value

}

})

console.log(res);

// with ES6 arrow function

var res1 = lat.map((o, i) => ({time: o.key, lat: o.value, lon: lon[i].value}))

console.log(res1);

仅供参考:如果相关数组元素的顺序不同,则需要通过比较时间值(可以使用Array#find方法)从第二个数组中获取元素,或者生成一个哈希映射来映射对象.

var lat = [{key:"-09-20T11:51:32.000Z", value:50.7825333},{key:"-09-20T11:51:33.000Z", value:50.7826}];

var lon = [{key:"-09-20T11:51:32.000Z", value:-1.3075833},{key:"-09-20T11:51:33.000Z", value:-1.3076}];

var res = lat

.map(function(o) {

return {

time: o.key,

lat: o.value,

// get object by using find method

lon: lon.find(function(o1) {

return o1.key === o.key;

}).value

}

})

console.log(res);

// with ES6 arrow function

var res1 = lat.map(o => ({

time: o.key,

lat: o.value,

lon: lon.find(o1 => o1.key === o.key).value

}))

console.log(res1);

使用hashmap进行引用的更有效方法:

var lat = [{key:"-09-20T11:51:32.000Z", value:50.7825333},{key:"-09-20T11:51:33.000Z", value:50.7826}];

var lon = [{key:"-09-20T11:51:32.000Z", value:-1.3075833},{key:"-09-20T11:51:33.000Z", value:-1.3076}];

// generate reference hashmap for getting

// value using the datetime string

var ref = lon.reduce(function(obj, o) {

// set reference

obj[o.key] = o.value;

// return the reference object

return obj;

// set initial value as an empty object

}, {});

var res = lat

.map(function(o) {

return {

time: o.key,

lat: o.value,

// get value from generated reference object

lon: ref[o.key]

}

})

console.log(res);

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。