【发布时间】:2015-10-09 15:02:16
【问题描述】:
我有两个对象,item 和 results。
它们都有相同的键,但可能有不同的值,例如:
item.id = '50'
item.area = 'Mexico'
item.gender = null
item.birthdate = null
results.id = '50'
results.area = null
results.gender = 'Male'
results.birthdate = null
我想要做的正是以下:
if (item.id == null || items.id == 0)
{
item.id = results.id;
}
但我正在寻找一种方法来为我的item 对象的每个值执行此操作。你知道,如果我的对象碰巧有更多的键/值,就不必编写一个巨大的函数。
有任何想法吗?
更新:我误解了自己的问题,唯一的问题是我真的不明白如何在给定某个键的情况下获取对象值。因为我使用 Azure 的移动服务脚本,所以我不能真正使用任何外部脚本或 div。
for (var key in item) {
if(item[key] == null || item[key] == 0){
item[key] = results[0][key]
}
}
【问题讨论】:
-
循环遍历对象。或者,如果您使用的是 jQuery,请查看合并。
-
你可以使用 angulars
$filter,或者使用 lodash,或者使用原生的.map。选择你的毒药! -
@BartekBanachewicz 谢谢你是对的。我之前看到过这个问题,但误解了我自己的问题。
标签: javascript object