题解 | #属性遍历#
属性遍历
http://www.nowcoder.com/practice/0158a4f165154f2eaf27d1907aa55e57
//1、Object.keys(obj) 只会遍历实例属性key值,不会遍历原型上的属性 function iterate(obj) { const keyArr = Object.keys(obj) const temp = [] for(let i in keyArr){ temp[i] = keyArr[i].concat(': ',obj[keyArr[i]]) } return temp } //2、for in可以遍历到obj的原型属性和方法,如果不想遍历原型上的,可以在循环内通过obj.hasOwnProperty()判断其是否是自己的实例属性 function iterate(obj) { const temp = [] for(let key in obj){ if(obj.hasOwnProperty(key)){ temp.push(key.concat(': ',obj[key])) } } return temp }