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;i document.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(“-”)进行编码>代码>?