gpt4 book ai didi

javascript - 访问 JavaScript 数组中的数据

转载 作者:行者123 更新时间:2023-11-28 20:49:11 25 4
gpt4 key购买 nike

Possible Duplicate:
Find object by id in array of javascript objects

所以我有这个:

mapArray=
[{"Title":"crop_rotation","subs":"5,6,7,10"},
{"Title":"cover_crops","subs":"2,5,7,8,9,13,14"},
{"Title":"binary_wetlands","subs":"1,2,3,4,5,6,7,8,9,10,11"}]

我正在尝试根据标题访问 subs 值。我正在努力

listofSubs=mapArray["crop_rotation"]("subs");

我没有得到任何返回。我在这里缺少什么?我需要获取该列表并转换为字符串,但我认为它会作为字符串出现,因为我已经解析了对象?提前致谢

最佳答案

首先,您必须找到具有特定标题的对象。您必须通过迭代数组并将每个对象的 Title 与您的值进行比较来完成此操作:

function find(arr, key, value) {
for(var i = 0, l = arr.length; i < l; i++) {
if(arr[i][key] === value)) {
return arr[i];
}
}
// return {}; // if you would want it null-safe
}

然后就可以访问相应的subs属性:

var obj = find(mapArray, 'Title', 'crop_rotation');
if(obj) {
var listofSubs = obj.subs;
}
<小时/>

解释为什么你的代码不起作用:

mapArray["crop_rotation"]("subs");
// |- 1 -|- 2 -|
  • |1| 尝试访问 mapArray 中对象的属性 crop_rotation。数组没有这样的属性,在你的情况下没有对象有。 crop_rotation 是其中一个属性的
  • |2| 是函数调用。它尝试调用 mapArray["crop_rotation"] 引用的函数,并将 "subs" 作为第一个参数传递。如果 mapArray["crop_rotation"] 不是函数(就像您的情况一样),它会抛出错误。
<小时/>

更多信息:

关于javascript - 访问 JavaScript 数组中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12825664/

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