选择项目的Javascript
我产生这样的数组,我要抢在每个子阵列中的第一项:选择项目的Javascript
arrayName = [[item1,item2,item3,item4],[item1,item2,item3,item4],[item1,item2,item3,item4]];
我在一个循环中尝试这样的:
var num = arrayName.length;
for (i=0; i < num; i++) {
var title1 = arrayName[i][0];
}
但我得到这个戒备:
alert(title1);
=
[
[
[
我需要:
alert(title1);
=
item1
item1
item1
我试过使用.nodeValue,.firstChild等,但仍然没有找到答案。什么是正确的方法?
var num = arrayName.length;
var title1 = new Array();
for (i=0; i < num; i++) {
title1.push(arrayName[i][0]);
}
console.log(title1);
更好?
这有什么问题? – 2013-04-05 08:18:33
我没有downvote,但这个答案并没有解释为什么OP的代码会产生警报输出'['。 – nnnnnn 2013-04-05 08:19:21
我们不知道这些'物品'是什么......他们甚至可能包含'['。此外,'var title1'正在每个循环迭代中重置。而且他没有精确地说明'alert()'何时执行。坦率地说,我认为其他回答者只是想获得优势... – 2013-04-05 08:21:52
您可以使用Array.prototype.map方法。
var arrayName = [[item1,item2,item3,item4],[item1,item2,item3,item4],[item1,item2,item3,item4]];
var childrenArray = arrayName.map(function(childArray) { return childArray[0]; });
我发现它是如何被创建的阵列。每个子数组都被推入到这个数组中,但它正在检测[作为字符串的一部分。改变这种推动解决了我的问题。感谢您的输入,虽然:)
你会得到什么,如果你'console.log(arrayName)'? – Passerby 2013-04-05 08:12:20
你在使用字符串吗? – 2013-04-05 08:13:15
是项目 - item1,item2等变量名称或应该是字符串 - 'arrName = [[“item1”,“item2”],[“item1”,“item2”]]; - 它在这里工作 - http: //jsbin.com/ulasuv/1/; – 2013-04-05 08:15:43