javascript - js怎样通过arr3把arr2变成arr4
阿神
阿神 2017-04-11 12:54:39
0
2
211

var arr2 = [{1: '1'}, {2: '2'}, {3: '3'}, {5: '5'}]; var arr3 = [{1: '1'}, {2: '2'}, {3: '3'}, {4: '4'}, {5: '5'}, {6: '6'}]; var arr4 = [{1: '1'}, {2: '2'}, {3: '3'}, {4: '0'}, {5: '5'}, {6: '0'}];
阿神
阿神

闭关修行中......

reply all (2)
伊谢尔伦
var arr2 = [{1: '1'}, {2: '2'}, {3: '3'}, {5: '5'}]; var arr3 = [{1: '1'}, {2: '2'}, {3: '3'}, {4: '4'}, {5: '5'}, {6: '6'}]; var arr4 = []; var obj = {}; for (var i=0; i
    黄舟

    ES 6 版本(按照 Python 的思想写的):

    // jshint esversion:6 let array_to_map = function(arr) { return arr.reduce(function(a, b){ for(let [k, v] of Object.entries(b)){ a.set(k, v); } return a; }, new Map()); }; let updatedefault = function(a, b, d) { let am = array_to_map(a); let bm = array_to_map(b); for(let [k, v] of bm){ if(typeof am.get(k) == "undefined"){ am.set(k, d); } } let r = []; for(let [k, v] of am){ let o = {}; o[k] = v; r.push(o); } r.sort(function(a, b){ let x = Object.keys(a)[0]; let y = Object.keys(b)[0]; if(x>y){ return 1; }else if(x

    有几点是问题中没有明确的:

    • 数组里的每个对象一定只有一个键值对吗?

    • 如果 arr2 和 arr3 里都有某个键,但是值不同怎么办?

    • 如果 arr2 和 arr3 里都有某个键值对,但是位于不同的位置,要怎么办?

    另外这个数据结构很奇怪、很难用。默认值'0'更是奇怪。

      Latest Downloads
      More>
      Web Effects
      Website Source Code
      Website Materials
      Front End Template
      About us Disclaimer Sitemap
      php.cn:Public welfare online PHP training,Help PHP learners grow quickly!