JavaScript加入多个数组混淆
JavaScript join multiple arrays confusion?
本文关键字:数组 JavaScript 更新时间:2023-09-26
根据W3Schools,join()函数定义为
"join()方法将数组的元素连接到一个字符串中,并返回该字符串。元素将由指定的分隔符分隔。默认分隔符为逗号(,)。"
然而,如果我尝试使用join()函数将两个数组连接在一起,它会产生一个我似乎无法理解的输出。有人能解释一下吗?这是示例代码:
<body>
<p>Click the button to join the array elements into a string.</p>
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
<script>
function myFunction() {
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var food = ["Chicken","Fish","Lamb","Prawns"];
var x = document.getElementById("demo");
x.innerHTML = fruits.join(food);
}
</script>
</body>
JSFiddle:https://jsfiddle.net/gf84ee9y/
这是因为您要连接一个数组并传入另一个数组作为分隔符:
fruits.join(food);
产量实际上是意料之中的,对于你拥有的每一种"水果",你都会把整个食物阵列放在它们之间。
如果要合并两个阵列,请使用concat
:
var newArray = fruits.concat(food);
现在您可以加入newArray,并且它将只有每个数组中每个元素的一个副本。
concat 的工作示例
您想要使用concat。请参阅concat上的文档。
x.innerHTML = fruits.concat(food);
Join不是您想要的,concat是:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat
相关文章:
- 如何遍历包含对象的数组-javascript
- 保存数组javascript
- 查找数组javascript中包含的元素类型
- 算法:从数组(javascript/angular)中按当前日期获取上一个和下一个事件
- 从多维数组javascript中提取特定值
- 如何在数组javascript中选择伪随机值
- 拆分字符串数组(JavaScript)后未定义
- 从数组JavaScript中删除并返回最后n个项的最快方法
- 使用条件for循环更新数组-Javascript
- 从数组javascript创建新对象
- 用数组(javascript)中的值替换regex捕获
- 从数组[Javascript]的总长度中减去一个干净的数字
- 将一个字符串数组解析为一个新的数组javascript
- 如何将对象转换为对象数组javascript
- 赢得't循环数组javascript
- 从不同的数组 JavaScript 中获取值
- 多维数组 JAVASCRIPT 出了点问题
- 可以't分配给一个对象数组javascript
- 比较数组JavaScript中的对象
- 如何完成缺少(连续)元素的数组|Javascript