Pat*_*cow 0 javascript arrays each jquery multidimensional-array
我有这个例子:
var name;
var id;
var array = [];
$.each(data, function(index, element) {
name = element.name;
id = element.id;
array[id] = name;
<a href="#" onClick="myFunction(array)">send</a>
console.log(array);
});
Run Code Online (Sandbox Code Playgroud)
在这种情况下.each将迭代5次,id将成为1, 2, 3, 4, 5和name将变更为五个名字
我想创建一个多维数组或一个如下所示的对象:
[1:name1] for the first iteration
[2:name2] for the second on
...
Run Code Online (Sandbox Code Playgroud)
将每对值传递给myFunction函数,并在该函数内部访问数组值:
function myFunction(array){//提醒键和值}
任何想法我怎样才能完成这个场景?
目前还不清楚你要做什么,但如果你想让每个条目array成为一个包含id和name值的数组,你可以改变这一行:
array[id] = name;
Run Code Online (Sandbox Code Playgroud)
至
array[id] = new Array(id, name);
Run Code Online (Sandbox Code Playgroud)
但我可能不会使用数组,我可能只是使用一个对象:
array[id] = {id: id, name: name};
Run Code Online (Sandbox Code Playgroud)
然后你可以像这样访问它:
x = array[id].name;
Run Code Online (Sandbox Code Playgroud)
事实上,array确实需要一个阵列吗?如果没有,只需将其作为一个对象:
data = {};
Run Code Online (Sandbox Code Playgroud)
制作id钥匙和name价值:
data[id] = name;
Run Code Online (Sandbox Code Playgroud)
这就是你循环它的方式:
function myFunction(data) {
var id, name;
for (id in data) {
name = data[id];
alert("id is " + id + ", name is " + name);
}
}
Run Code Online (Sandbox Code Playgroud)
使用像这样的普通对象,没有必要,但是如果你正在循环的对象可能有一个原型,那么你只想查看对象自己的属性:
function myFunction(data) {
var id, name;
for (id in data) {
if (data.hasOwnProperty(id)) {
name = data[id];
alert("id is " + id + ", name is " + name);
}
}
}
Run Code Online (Sandbox Code Playgroud)