日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

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

發布時間:2023/12/19 javascript 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 javascript字典中添加数组_在javascript中合并两个字典数组 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

您可以使用

Array#map方法生成新數組(假設兩個數組的順序相同).

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

var lon = [{key:"2017-09-20T11:51:32.000Z", value:-1.3075833},{key:"2017-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:"2017-09-20T11:51:32.000Z", value:50.7825333},{key:"2017-09-20T11:51:33.000Z", value:50.7826}];

var lon = [{key:"2017-09-20T11:51:32.000Z", value:-1.3075833},{key:"2017-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:"2017-09-20T11:51:32.000Z", value:50.7825333},{key:"2017-09-20T11:51:33.000Z", value:50.7826}];

var lon = [{key:"2017-09-20T11:51:32.000Z", value:-1.3075833},{key:"2017-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);

總結

以上是生活随笔為你收集整理的javascript字典中添加数组_在javascript中合并两个字典数组的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。