如何访问Javascript 2D对象数组?
How do I access a Javascript 2D array of objects?
我有一个全局数组,声明为
var fileMappings = [];
我做了一些工作,并向数组添加一行,如下所示:
fileMappings.push({ buttonNumber: number, audioFile: file });
如果我执行json。stringify(filemapping)我得到这个:
[{“buttonNumber”:”btn11”,”audioFile”:{0A0990BC-8AC8-4C1C-B089-D7F0B30DF858}},
{“buttonNumber”:”btn12”,”audioFile”:{2FCC34A6-BD1A-4798-BB28-131F3B546BB6}},
{“buttonNumber”:”btn13”,”audioFile”:{53A206EC-7477-4E65-98CC-7154B347E331}}]
如何访问"btn11"等的GUID ?
由于Javascript数组不支持键,我建议您使用对象。否则,每次都必须遍历整个数组来查找所需的键。
var fileMappings = {};
而不是push()
,定义一个新的属性:
fileMappings[number] = { buttonNumber: number, audioFile: file };
这样,您可以使用fileMappings['btn11']
你可以遍历数组的成员来找到按钮,然后返回它的GUID:
function findGUID(arr, buttonNumber) {
for (var i=0, iLen=arr.length; i<iLen; i++) [
if (arr[i].buttonNumber == buttonNumber) {
return arr[i].audioFile;
}
}
// return undefined - buttonNumber not found
}
或者如果你想使用ES5的特性:
function getGUID(arr, buttonNumber) {
var guid;
arr.some(function(obj) {
return obj.buttonNumber == buttonNumber && (guid = obj.audioFile);
});
return guid;
}
但我认为第一个更简单,更容易维护
相关文章:
- 引用对象中的通用值
- jQuery匹配JSON对象的部分文本
- 将2D对象数组C#转换为MVC中的Javascript
- 如何从对象(键,值 par)创建 2d 数组
- 将 JSON 对象从 Ajax 存储到 JavaScript 2D 数组
- 逐渐减慢2D对象方法的速度
- JavaScript - 2D 数组/对象
- javascript中2d数组到json对象的转换
- 可以't在推入2d数组后访问对象元素
- "类型错误:can't将未定义转换为对象“t”;当动态调整2D阵列的大小时
- Javascript/html5 2d Canvas Context -获取相对于Canvas的X, Y(相对于转换对象
- 如何在JavaScript中将2D数组转换为树(对象)
- 使用javascript创建多个2d对象数组,其中对象具有相同的属性
- Javascript大型2D对象数组
- 设置JavaScript 2D Array中对象的true/false属性
- 如何访问Javascript 2D对象数组?
- 如何自定义排序一个2D javascript对象
- 在Javascript中为国际象棋游戏创建一个2D对象数组和int对象数组
- JS:将带有键的2D对象转换为转置的csv
- 将包含对象的 3D 数组展平到 2D 中,通过其参数删除重复的对象