gpt4 book ai didi

javascript - 循环对象数组

转载 作者:行者123 更新时间:2023-12-02 04:52:34 24 4
gpt4 key购买 nike

我试图在一个对象内循环我的所有数组,然后检查数组内的对象是否设置了 imageUrl,如果没有。然后将其设置为默认值。

投资组合[i] 返回未定义。

that.portfolio = {
applications = [
{ imageUrl: "" }
],
websites = [
{ imageUrl: "" }
]
}

var setDefaultImage = function () {
var portfolio = that.portfolio;
var defaultImageUrl = "App/Main/images/shared/defaultImg64x64.png";

for (var i = 0; i < Object.keys(portfolio).length; i++)
portfolio[i].forEach(function (currentObj) {
if (!currentObj.imageUrl) {
currentObj.imageUrl = defaultImageUrl;
}
});
}

最佳答案

portfolio 是一个对象而不是数组,因此正确的循环方式是 for-in 循环:

for (var key in portfolio) {
portfolio[key].forEach(function(currentObj) {
if (!currentObj.imageUrl) {
currentObj.imageUrl = defaultImageUrl;
}
});
}

如您所见,无需对 Object.keys(portfolio) 过度思考,但如果需要,您也可以使用它:

var keys = Object.keys(portfolio);
for (var i = 0; i < keys.length; i++) {
portfolio[keys[i]].forEach(function (currentObj) {
if (!currentObj.imageUrl) {
currentObj.imageUrl = defaultImageUrl;
}
});
}

关于javascript - 循环对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26561904/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com