Javascript:console.log Javascript 对象

标签 javascript

var friends = {};

friends.steve = {
    firstName : "Steve",
    lastName : "Jobs",
    number: "(206) 555-5555",
    address: ['One Microsoft Way','Redmond','WA','98052'] 
};

function list(obj) {
    for(var key in obj) {
        if(key instanceof Object == true) {
        console.log(obj[key].join(", "));
        } else {
        console.log(obj[key]);
        }
   }
}   

嗨,我想循环对象friends.steve和console.log它的每个属性,到目前为止一切正常,但我希望当我的代码到达friends.steve对象的地址数组时,它应该记录这个地址数组如“One Microsoft Way, Redmond, WA, 98052”而不是类似的数组,任何人都可以帮我解决这个问题。谢谢

最佳答案

Demo Fiddle

  • 如果是数组,您需要检查 value = obj[key]key instanceof Object 将始终返回 false。
  • 尝试使用 isArray()instancof Array 而不是 Object
<小时/>
var friends = {};

friends.steve = {
    firstName: "Steve",
    lastName: "Jobs",
    number: "(206) 555-5555",
    address: ['One Microsoft Way', 'Redmond', 'WA', '98052']
};
list(friends.steve);

function list(obj) {
    for (var key in obj) {

        if (Array.isArray(obj[key])) {    //Or if(obj[key] instanceof Array) {

            console.log(obj[key].join(','));

        } else {

            console.log(obj[key]);

        }
    }
}
<小时/>

结果:

"Steve" 
"Jobs"
"(206) 555-5555"
"One Microsoft Way,Redmond,WA,98052" 

关于Javascript:console.log Javascript 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24229624/

相关文章:

javascript - 单击时调整滑动切换的速度

javascript - 将 json 数据转为 HTML

javascript - 通过在 JavaScript 中添加数组将数字转换为字符串

javascript - 如何从我的 Express 4 路由中使用 socket.io 向连接的套接字发送事件?

javascript - 将数据从 html 表单发布到 SQL 不会发布

javascript - 平滑的鼠标滚动 - JQuery

javascript - JQuery 移动 IOS 设备如何删除 Web 上的默认滚动

javascript - jQuery 每秒调用 ajax 直到调用完成/返回 true

javascript - 如何在弹出的权限上点击允许按钮

javascript - instanceof 与 typeof 方法返回的对象类型相矛盾