如何访问数组内的数组?

时间:2014-06-24 05:54:56

标签: javascript

我有一个以下格式的数组。

var arr = [[a,b],[a,c],[b,c]];

我的问题只是打印arr正在给a,b,a,c,b,c

我期待,一次迭代并获得单个组合。

如何在

中访问它
  

A-B   A-C   B-C

4 个答案:

答案 0 :(得分:1)

试试这个:

for (var x = 0; x < arr.length; x++)
    console.log(arr[x].join('-'))

以上输出

a-b
a-c
b-c

只是为了多样性,另一种可能的方式:

console.log.apply(null, arr.map(function(v) {
    return v.join('-')
}));

答案 1 :(得分:1)

试试这个

var arr = [["a","b"],["a","c"],["b","c"]];

    for(var i=0;i<arr.length;i++)
    {
        console.log(arr[i].join("-"));

    }

答案 2 :(得分:0)

为此使用普通for循环,如果您想要指定的确切输出,请在数组本身上使用#join的内置方法。

for(var i = 0; i < arr.length; i++) {
   console.log(arr[i].join('-'));
}

使用for...in构造循环数组永远不应该完成,因为你没有循环你认为你正在循环的东西。

for...in遍历对象的可枚举属性。关于如何以及为什么here.

的精彩帖子

答案 3 :(得分:0)

我假设你的意思是

var arr = [["a","b"],["a","c"],["b","c"]];

因为否则toString()函数不会返回a-b a-c b-c,而是返回这些变量的值。

这是另一个直接处理输出字符串的解决方案:

var arr = [["a","b"],["a","c"],["b","c"]];
arr.toString().replace(/,/g, '-').replace(/(\w+-\w+)-/g, "$1 ")
// => "a-b a-c b-c"
相关问题