gpt4 book ai didi

javascript - 如何从AngularJS中的对象中获取键值

转载 作者:行者123 更新时间:2023-12-03 08:54:11 25 4
gpt4 key购买 nike

我已将值存储在以下格式的对象中,

$scope.modelName = {
name: {}
};

该值的存储方式类似于{"APLLE":true,"ORANGE":true}。我试图仅获取 key ,并尝试使用 for 循环将其存储在另一个对象中。我无法获取该值

for (var i = 0; i < 2 ; i++) {        
$scope.fruitRulesRules.push({
field: "fruitName",
subType: "equals",
value: Object.Keys($scope.modelName.name[i])
});
}

提前致谢。

最佳答案

Object.keys() 返回对象中键的数组。您需要选择循环索引的键。你很接近,但没有雪茄。

参见 fiddle :http://jsfiddle.net/pzky9owf/1/

var modelName = {
name: {
APPLE: true,
ORANGE: true
}
},
fruitRulesRules = [];

for (var i = 0; i < 2; i++) {
fruitRulesRules.push({
field: 'fruitName',
subType: 'equals',
/*
This bit was close. You could could also cache the Object.keys in
another variable so its not called in every itteration of the loop if it doesnt change often
*/
name: Object.keys(modelName.name)[i]
});
}

console.log(fruitRulesRules);

编辑:你还有Object.Keys,大写K,小写k,但我认为这是一个拼写错误 fiddle 。

再次编辑:正如 @KrzysztofSafjanowski 在另一条评论中提到的,您无法保证 Object.keys() 的顺序,因此即使上述方法有效,它也可能无法给出所需的结果。

我更新了 fiddle 以显示不同的方式,其中键的顺序并不重要:http://jsfiddle.net/pzky9owf/2/

关于javascript - 如何从AngularJS中的对象中获取键值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32580607/

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