首页 > 技术文章 > Object属性和Array遍历

huangtonghui 2018-08-23 18:34 原文

// 对象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); //随机

  

推荐阅读