Javascript 从位于阵列内部的阵列中删除逗号

Javascript 从位于阵列内部的阵列中删除逗号,javascript,arrays,Javascript,Arrays,我有以下数组,包含较小的数组: var fruits = [["Bananas", "2"], ["Apples", "4"], ["Oranges", "5"]]; 我想这样显示它们,删除较小数组中的逗号并添加连字符: 香蕉-2 苹果-4 橙子-5 我尝试了以下方法,但仍然不起作用: var=[ [“香蕉”,“2”], [“苹果”,“4”], [“橙子”,“5”] ]; var fruitsToday=[]; 对于(i=0;if.join(“-”).join(”) 您的代码运行良好。问题是

我有以下数组,包含较小的数组:

var fruits = [["Bananas", "2"], ["Apples", "4"], ["Oranges", "5"]];
我想这样显示它们,删除较小数组中的逗号并添加连字符:

香蕉-2

苹果-4

橙子-5

我尝试了以下方法,但仍然不起作用:

var=[
[“香蕉”,“2”],
[“苹果”,“4”],
[“橙子”,“5”]
];
var fruitsToday=[];
对于(i=0;idocument.getElementById(“今日”).innerHTML=fruitsToday.join(“
”)编辑以添加其他解释和阅读:


  • (ecma的表格是最准确、最简洁的,但它的表述可能有点简朴。老实说,我也不满意博主们对隐性胁迫过于冗长的解释。)
隐式强制由二进制+运算符触发,如果有 操作数是字符串

您需要使用一个数组并将其推入。使用
+
操作符将数组强制为字符串并连接字符串

var fruits=[[“香蕉”、“2”]、[“苹果”、“4”]、[“橙子”、“5”];
var fruitsToday=[];
对于(i=0;i”)

您可以映射连接的项并使用数组进行输出

var fruits=[[“香蕉”、“2”]、[“苹果”、“4”]、[“橙子”、“5”],
fruitsToday=fruits.map(a=>a.join('-');
document.getElementById(“today”).innerHTML=fruitsToday.join(“
”)
应在一行中完成:)

var fruits=[[“香蕉”、“2”]、[“苹果”、“4”]、[“橙子”、“5”];
document.getElementById(“今天”).innerHTML=fruits.map(f=>f.join(“-”).join(
”)
您的代码运行良好。问题是
foultstoday.join(
因为
foultstoday
是字符串,
join()
只对数组有效

var fruits=[[“香蕉”、“2”]、[“苹果”、“4”]、[“橙子”、“5”];
var fruitsToday=[];
对于(i=0;i);
}
document.getElementById(“今天”).innerHTML=fruitsToday

问题在于数组
foultstoday
与索引
i
->
水果[i]
处的数组之间的隐式字符串串联

fruitsToday += fruits[i].join(" - ");
            ^
通过调用函数
Array.prototype.push

let fruits=[
[“香蕉”,“2”],
[“苹果”,“4”],
[“橙子”,“5”]
];
让我们今天的结果=[];
for(设i=0;i”)

与下面使用map()类似,但使用新元素创建所需的新数组“fruitsToday”。然后可以根据需要使用新阵列

var fruits=[[“香蕉”、“2”]、[“苹果”、“4”]、[“橙子”、“5”];
var fruitsToday=[];
map(函数(e){fruitsToday.push(e[0]+“-”+e[1]);})

控制台日志(每天)可能替换
水果日+=水果[i]。加入(“-”foultstoday.push(水果[i].join(“-”)进行编码>