牛客网编程---属性遍历

题目描述

找出对象 obj 不在原型链上的属性(注意这题测试例子的冒号后面也有一个空格~)
1、返回数组,格式为 key: value
2、结果数组不要求顺序 
输入例子:
var C = function() {this.foo = 'bar'; this.baz = 'bim';}; C.prototype.bop = 'bip'; iterate(new C());
输出例子:
["foo: bar", "baz: bim"]

function iterate(obj) {
    var result = [];
    for(var key in obj){
        if(obj.hasOwnProperty(key)){
            result.push(key+': '+obj[key]);//使用obj.key部分代码不能通过
        }
    }
    return result;
}
function iterate(obj) {
    return Object.getOwnPropertyNames(obj).map(function(key){
        return key+": "+obj[key];
    });
}
function iterate(obj) {
    var arr=Object.keys(obj);
    var arrs=[];
    arr.forEach(function(item){
        arrs.push(item+': '+obj[item])
    })
    
    return arrs
     
}

 

posted @ 2017-05-05 10:24  123默小白  阅读(213)  评论(0编辑  收藏  举报