javascript技巧

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript技巧 > JavaScript数组添加数据

JavaScript中列表(数组)添加数据的常用方法

作者:detayun

JavaScript数组添加元素的5种常用方法,并详细对比了JavaScript中push()、unshift()、splice()等常用方法用于数组不同位置添加数据的特点,希望对大家有所帮助

1. push() - 末尾添加(最常用)

let arr = [1, 2, 3];
arr.push(4);        // [1, 2, 3, 4]
arr.push(5, 6);     // [1, 2, 3, 4, 5, 6] - 可添加多个

2. unshift() - 开头添加

let arr = [1, 2, 3];
arr.unshift(0);     // [0, 1, 2, 3]

3. splice() - 指定位置添加

let arr = [1, 2, 3];
arr.splice(1, 0, 'a');  // 在索引1处添加'a'
// [1, 'a', 2, 3]

// 语法: splice(起始索引, 删除数量, 要添加的元素)

4. 展开运算符 … - 创建新数组(不修改原数组)

let arr = [1, 2, 3];
let newArr = [...arr, 4];        // 末尾添加
let newArr2 = [0, ...arr];       // 开头添加

5. concat() - 合并数组(不修改原数组)

let arr = [1, 2, 3];
let newArr = arr.concat(4, 5);   // [1, 2, 3, 4, 5]

6.对比表格

方法位置是否修改原数组性能
push()末尾 ✅⭐⭐⭐⭐⭐
unshift()开头⭐⭐⭐
splice()任意⭐⭐⭐
... 展开符任意⭐⭐⭐⭐

7.推荐

​​​​​​​8.知识扩展

在 JavaScript 中,数组(Array) 是一种非常灵活的数据结构,添加元素的方式也多种多样。根据你希望添加的位置(末尾、开头、中间)以及是否需要创建新数组,可以选择不同的方法。

下面详细列出常用方法,并附上代码示例和注意事项。

1. push() – 在数组末尾添加一个或多个元素

let arr = [1, 2, 3];
let newLength = arr.push(4, 5);  // 添加 4 和 5
console.log(arr);       // [1, 2, 3, 4, 5]
console.log(newLength); // 5

2. unshift() – 在数组开头添加一个或多个元素

let arr = [1, 2, 3];
let newLength = arr.unshift(0, -1);
console.log(arr);       // [0, -1, 1, 2, 3]
console.log(newLength); // 5

3. splice() – 在任意位置插入 / 删除元素

let arr = [1, 2, 3, 4];
// 在索引 2 的位置插入 100 和 200,不删除任何元素
arr.splice(2, 0, 100, 200);
console.log(arr); // [1, 2, 100, 200, 3, 4]

4. concat() – 合并数组(返回新数组)

let arr1 = [1, 2];
let arr2 = [3, 4];
let newArr = arr1.concat(arr2, 5);
console.log(arr1);   // [1, 2] 原数组未变
console.log(newArr); // [1, 2, 3, 4, 5]

5. 扩展运算符 ...(ES6+) – 创建新数组

let arr = [1, 2, 3];
let newArr1 = [...arr, 4, 5];   // 末尾添加
let newArr2 = [0, ...arr];       // 开头添加
let newArr3 = [0, ...arr.slice(0, 2), 99, ...arr.slice(2)]; // 中间插入
console.log(newArr1); // [1, 2, 3, 4, 5]
console.log(newArr2); // [0, 1, 2, 3]
console.log(newArr3); // [0, 1, 2, 99, 3]

6. 直接通过索引赋值或利用 length 属性

let arr = [1, 2, 3];
arr[arr.length] = 4;      // 等价于 push(4)
console.log(arr);          // [1, 2, 3, 4]
arr[10] = 5;              // 索引跳跃,中间产生 empty
console.log(arr);          // [1, 2, 3, 4, empty × 6, 5]

性能对比与建议

push() 速度最快,因为它只在数组尾部添加,无需移动已有元素。

unshift() 最慢,每次添加都会将所有现有元素向后挪一位。

splice() 插入中间 也会移动部分元素,性能介于两者之间。

需要频繁在头部添加元素时,考虑改用链表结构或先 push 最后再 reverse

总结表

方法是否修改原数组返回结果常用场景
push(elem1, elem2)✅ 是新长度(number)末尾追加,最常用
unshift(elem1, elem2)✅ 是新长度(number)开头插入,慎用
splice(index, 0, elem)✅ 是被删除的元素数组任意位置精确插入
concat(array)❌ 否新数组(Array)合并数组,不改变原数组
[...arr, elem]❌ 否新数组(Array)函数式风格,创建新数组

根据需求选择合适的方法,绝大多数日常编码中 push() + splice() 组合就足够了。

到此这篇关于JavaScript中列表(数组)添加数据的常用方法的文章就介绍到这了,更多相关JavaScript数组添加数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文