我有动态对象列表。动态的,因为数据下对象的数字标识始终在更改/增加。我已经有一个变量,定义为数据下的对象数量。变量如下
var numOfFruits = Object.keys(Fruits.data).length
然后要遍历数据下的每个对象,我运行此循环
for(numOfFruits in Fruits.data) {
var objectsUnderData = Fruits.data[numOfFruits];
}
我希望能够请求包含某个值(例如“香蕉”,“苹果”或“葡萄”)的对象的数字身份。因此,我希望能够使用像这样的预定义变量var name = "Apple"
并获取其所在对象的标识。
{
"type": "fruits",
"data": {
"1": {
"id": 1,
"key": "Banana",
"name": "Banana",
},
"2": {
"id": 2,
"key": "Orange",
"name": "Orange",
},
"3": {
"id": 3,
"key": "Grape",
"name": "Grape",
},
"4": {
"id": 4,
"key": "Apple",
"name": "Apple",
}
}
}
我的问题:如何使用特定值(名称:“ Apple”,名称:“ Banana”等)来查找其下的对象的标识。
参见fruitFinder
下面的功能:
function fruitFinder (Fruits, name) {
for (fruit in Fruits.data) {
if (Fruits.data[fruit].name == name) {
return Fruits.data[fruit].id;
}
}
}
var Fruits = {
"type": "fruits",
"data": {
"1": {
"id": 1,
"key": "Banana",
"name": "Banana",
},
"2": {
"id": 2,
"key": "Orange",
"name": "Orange",
},
"3": {
"id": 3,
"key": "Grape",
"name": "Grape",
},
"4": {
"id": 4,
"key": "Apple",
"name": "Apple",
}
}
};
var name = "Apple";
console.log(fruitFinder(Fruits, name));
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句