gpt4 book ai didi

Javascript for 循环获取 key 并推送

转载 作者:行者123 更新时间:2023-12-03 00:56:08 27 4
gpt4 key购买 nike

我有如下代码。基本上,如果 key 是其中任何一个,我会将其推送到 $scope.mykey

for (var i = 0; i < response.data.length; i++) { 
var allKeys = Object.keys(response.data[i])
for (var k = 0; k < allKeys.length; k++) {
if (allKeys[k] == "ABC" ||
allKeys[k] == "EFG" ||
allKeys[k] == "HIG" ||
allKeys[k] == "KAY" ||
allKeys[k] == "LOP" ||
allKeys[k] == "LLP" ||
allKeys[k] == "JYP" ||
allKeys[k] == "TWC" ||
allKeys[k] == "ZHG" ||
allKeys[k] == "LMD" ||
allKeys[k] == "PKL" ||
allKeys[k] == "JIB" ||
allKeys[k] == "MHT") {
$scope.mykey.push({
name: allKeys[k],
checked: response.data[i].allKeys[k]
});
}
}

但是,我收到错误

"Cannot read property '7' of undefined

我认为这与name:checked:有关。例如应该是这样的:

response.data[i].TWC

但现在我认为它是这样的:

 response.data[i].allKeys[7]

有人知道我怎样才能做到这一点吗?

最佳答案

您收到此错误是因为 response.data[i] 没有属性 allKeys
如果您想使用存储在 allKeys[k] 中的 key 作为字符串访问属性,请使用:

response.data[i][allKeys[k]]

作为旁注,我建议使用 forEach 循环来提高可读性:

 response.data.forEach(function(data) {
var allKeys = Object.keys(data);
allKeys.forEach(function(key){
if (key == "ABC" || key == "EFG" || /*...*/ ) {
$scope.mykey.push({ name: key, checked: data[key] });
}
});
});

关于Javascript for 循环获取 key 并推送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52833037/

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