Object属性和Array遍历
// 对象Object var obj = {key:'value'} // 判断自身属性 obj.hasOwnProperty('key') // 获取隐式属性,取代__proto__ Object.getPrototypeOf(obj) // 获取属性集合 Object.getOwnPropertyNames(obj) // 自身属性包含hasOwnProperty ({}).hasOwnProperty.call(obj, 'key') //方法1 Object.prototype.hasOwnProperty.call(obj, 'key') //方法2 // 判断空对象 var obj = {} JSON.stringify(obj) == '{}' //方法1 Object.keys(obj).length == 0 //方法2 Object.getOwnPropertyNames(obj).length == 0 //方法3 // 对象遍历 for(var key in obj) { console.log(obj[key]) }
// 数组遍历 var arr = [1, 2, 3]; var sum = 0 // arr.forEach(function(cur, index, arr) {}); arr.forEach((ele) => sum += ele); console.log(sum) // arr.map(function(cur, index, arr) {}); arr.map((ele) => ele * 2); // arr.find(function(cur, index, arr) {}); arr.find((ele) => ele === 1); // arr.filter(function(cur, index, arr) {}); arr.filter((ele) => ele > 1); // arr.reduce(function(total, cur, index, arr) {}, init); arr.reduce((total, ele) => total + ele); // 类数组转数组 Array.from(arr); // 数组去重 new Set(Array.from(arr)); // 数组排序 arr.sort((a,b) => a-b); //升 arr.sort((a,b) => b-a); //降 arr.sort(() => return Math.random() - 0.5); //随机