JavaScript中数组Array方法详解(2)

var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; console.log(arr.splice(7)); // [8, 9] console.log(arr); // [1, 2, 3, 4, 5, 6, 7] console.log(arr.splice(2, 4)); // [3, 4, 5] console.log(arr); // [1, 2, 7] console.log(arr.splice(2, 1, 3, 4, 5, 6)); // [7] console.log(arr); // [1, 2, 3, 4, 5, 6] console.log(arr.splice(3, 2, 3, [1, 2, 3])); // [4, 5] console.log(arr); // [1, 2, 3, [1, 2, 3], 6]

7、Array.push()和Array.pop()方法

push()和pop()方法允许将数组当做栈来使用。push()方法在数组的尾部添加一个或多个元素,并返回数组新的长度。pop()方法则相反:它删除数组的最后一个元素,减小数组长度并返回它删除的值。注意:这两个方法都会修改原始数组。

var arr = [1, 2, 3]; console.log(arr.push(7)); // 4 console.log(arr); // [1, 2, 3, 7] console.log(arr.push([2, 4])); // 5 console.log(arr); // [1, 2, 3, 7, [2, 4]] console.log(arr.pop()); // [2, 4] console.log(arr); // [1, 2, 3, 7]

8、Array.unshift()和Array.shift()方法

unshift()和shift()方法的行为非常类似于push()和pop()方法,不一样的是:前者是在数组的头部进行元素的插入和删除操作。unshift()在数组的头部添加一个或多个元素,并将已存在的元素移动到更高索引的位置来获得足够的空间,最后返回数组新的长度。shift()删除数组的第一个元素并返回所删除的元素,然后把所有随后的元素向前移动一个位置来填补数组头部的空缺。注意:这两个方法都会修改原始数组。

var arr = [6, 2, 3, 4, 5, 6]; console.log(arr.shift()); // 6 console.log(arr); // [2, 3, 4, 5, 6] console.log(arr.unshift(['a', 'b'])); // 6 console.log(arr); // [['a', 'b'], 2, 3, 4, 5, 6] console.log(arr.unshift('a', 'b')); // 8 console.log(arr); // ['a', 'b', ['a', 'b'] 2, 3, 4, 5, 6]

注意,当使用多个参数调用unshift()时,如果参数是一次性插入的而非一次一个地插入,这意味着最终的数组中插入的元素的顺序和它们在参数列表中的顺序一致。而假如元素是一次一个地插入,它们的顺序应该是反过来的。

var arr = [6, 2, 3, 4, 5, 6]; console.log(arr.unshift('a', 'b', 'c')); // 9 console.log(arr); // ['a', 'b', 'c', 6, 2, 3, 4, 5, 6] console.log(arr.unshift(1)); // 10 console.log(arr); // [1, 'a', 'b', 'c', 6, 2, 3, 4, 5, 6] console.log(arr.unshift(2)); // 11 console.log(arr); // [2, 1, 'a', 'b', 'c', 6, 2, 3, 4, 5, 6]

9、Array.toString()和Array.toLocaleString()方法

数组和其他JavaScript对象一样拥有toString()方法。针对数组,该方法将数组的每个元素都转化为字符串并且输出用逗号分隔的字符串列表。注意:此方法不会修改原始数组(这与不使用任何参数调用join()方法返回的字符串是一样的)

var arr = [1, 2, 3]; console.log(arr.toString()); // 1,2,3 console.log(typeof(arr.toString())) // string console.log(arr); // [1, 2, 3]

扩展:toLocaleString()是toString()方法的本地化版本。它调用元素的toLocaleString()方法将每个数组元素转化为字符串,并且使用本地化分隔符将这些字符串连接起来生成最终的字符串。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwzjdx.html