84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
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'}];
闭关修行中......
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'更是奇怪。
'0'
ES 6 版本(按照 Python 的思想写的):
有几点是问题中没有明确的:
数组里的每个对象一定只有一个键值对吗?
如果 arr2 和 arr3 里都有某个键,但是值不同怎么办?
如果 arr2 和 arr3 里都有某个键值对,但是位于不同的位置,要怎么办?
另外这个数据结构很奇怪、很难用。默认值
'0'
更是奇怪。