我想创建一个数组,使其包含一些身份名称,并且对于每个名称,都有另一个数组关联。我的方法就像是,
for (var i = 0; i < 10; i++) {
for (var x = 0; x < 5; x++) {
var data = someServiceCall(i, x);
var identityName = i + '-' + x;
myArray[identityName] = data;
}
}
执行此操作后,我会得到类似的内容,
[1-1: Array(8), 1-2: Array(10), 1-3: Array(10), 1-4: Array(10),.. etc]
下次我调用此函数时,我需要检查1-1是否存在,如果是,我需要获取与1-1相关的列表。我怎样才能做到这一点..?如果1-1不在myArray中,我会调用其他函数。
答案 0 :(得分:2)
要检查具有1-1键的元素是否存在:
if("1-1" in myArray)
然后访问与1-1相关的数组:
myArray["1-1"]
答案 1 :(得分:1)
试试这个。它在每个数组元素中插入一个包含身份名称和数据的对象。
var myArray = [];
for (var i = 0; i < 10; i++) {
for (var x = 0; x < 5; x++) {
var data = someServiceCall(i, x);
var identityName = i + '-' + x;
var objectInArr = {
'identityName': identityName,
'data' : data
};
myArray.push(objectInArr);
};
};
答案 2 :(得分:1)
试试这个
myArray["1-1"] != undefined
答案 3 :(得分:1)
检查阵列中是否存在key
并采取相应措施。以下是一个有效的代码片段
var myArray = [];
for (var i = 0; i < 10; i++) {
for (var x = 0; x < 5; x++) {
var identityName = i + '-' + x;
myArray[identityName] = [1, 2];
}
}
var key = "0-0";
if(myArray[key])
console.log(myArray[key]);
&#13;
答案 4 :(得分:0)
你可以检查数组长度,如果数组是空的,你就会知道你需要调用另一个动作。像下面这样的东西可能适合你
if (myArray.length === 0) {
//Call another function}
else {
//Somthing else}