🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 一、对象转数组 ``` var foo = {'0': 3, '1': 13, '2': 23, 'length': 3}; console.log([].slice.call(foo)); // [3, 13, 23] // 或者 Array.prototype.slice.apply(foo); // 又或者 Object.values(foo); ``` ## 二、浅拷贝 ~~~ var extend = function(out) { out = out || {}; for (var i = 1; i < arguments.length; i++) { if (!arguments[i]) continue; for (var key in arguments[i]) { if (arguments[i].hasOwnProperty(key)) out[key] = arguments[i][key]; } } return out; }; extend({}, objA, objB); ~~~ ## 三、深拷贝 ~~~ var deepExtend = function(out) { out = out || {}; for (var i = 1; i < arguments.length; i++) { var obj = arguments[i]; if (!obj) continue; for (var key in obj) { if (obj.hasOwnProperty(key)) { if (typeof obj[key] === 'object') out[key] = deepExtend(out[key], obj[key]); else out[key] = obj[key]; } } } return out; }; deepExtend({}, objA, objB); ~~~ ## 四、判断是否是JSON对象 ``` Object.prototype.isJSON = function(v) { if(typeof v==='object' && Object.prototype.toString.call(v).toLowerCase()==='[object object]' && !v.length) { return true; } return false; } console.log(Object.isJSON({})); // true ```