我有一个以下格式的数组。
var arr = [[a,b],[a,c],[b,c]];
我的问题只是打印arr正在给a,b,a,c,b,c
我期待,一次迭代并获得单个组合。
如何在
中访问它A-B A-C B-C
答案 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"