.join方法在Javascript中将数组更改为字符串吗?

Does .join method change the array into string in Javascript?

本文关键字:字符串 数组 方法 Javascript join      更新时间:2023-09-26

.join的结果与.push.pop不同。

var mack=[];
mack.push("dog", "cat");
mack.join(" ");
alert(mack);

Console.log: ["dog", "cat"]


var mack=[];
mack.push("dog", "cat");
alert(mack.join(" "));

Console.log: "dog cat"


在第一个中,mack.join(" ");不改变原来的mack数组,不像mack.push("dog", "cat");mack.pop();

我很好奇为什么会发生这种事。还有其他类似的方法吗?

join()函数不改变数组元素,它只是将数组元素表示为string,并使用分隔符作为参数。这里是连接函数的引用Array.prototype.join ()

Array pushpop用于从数组中添加或删除元素,为push返回数组新大小,为pop返回元素。

Array.prototype.push ()

Array.prototype.pop ()

在这里,数组元素是正常的,因为你push它。

var mack=[];
    mack.push("dog", "cat");
var mack_string = mack.join(" ");
console.log(mack); // Array [ "dog", "cat" ]
console.log(mack_string); // "dog cat"

Pushpop方法用于在Array对象上向Array添加或从Array中删除数据,从而更改Array本身。

Join方法不改变Array,它返回String -新对象,数组保持不变。例如,它可以用于连接字符串,这些字符串被放入具有特定字符的数组中。

关于数组的更多信息可以在这里找到:http://www.w3schools.com/js/js_array_methods.asp

join()方法将数组的所有元素连接成一个字符串,detail

返回一个字符串,不修改原始数组。
此外,如果这是您的期望,将String分配给Array对象也没有意义。