第一题,先土法炼钢,再看能否写进内函数?第一题先宣告一个比方 copy={};arr.forEach(function(a){copy[a["name"]]=a["age"];});这样 copy 的输出结果: copy={"sam":16,"may":20}第二题,可以让每个元素与50相减后的值当key值,arr内的元素当对映值,比方 {"10":40, "18":32, "-5":55, ... }然后对这东西的Object.keys值做sort,用Math.abs比大小return c1 > c2 ? 1 : c1 < c2 ? -1 : 0;这样比完后 "-5" 就会在最前面, 再来是 "10", 再来 "11"则叫出 "-5" 对映的值 55 就行了
https://i.imgur.com/ZMhDw4O.jpg若要更简短就是arr.forEach(function(a){直接在里面做比大小(abs)及排序,这样应该更快,我改一下
https://i.imgur.com/3E138hy.jpg要得出前 3 个的3这个数字,或可用arr.length的开根号整数