JS中实现数组开头添加元素
作者:前端鼓励师
这篇文章主要介绍了JS中实现数组开头添加元素方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
JS数组开头添加元素
1.使用Array.unshift()方法
//向数组开头添加一个或多个元素,并返回新的长度,该方法改变原数组 let person= ['张三', '李四', '王五']; console.log(person.unshift('小明')); // 4 console.log(person); // ["小明", "张三", "李四", "王五"]
2.使用扩展运算符(…)
var arr1 = ['张三', '李四', '王五']; var arr2 = ['小明', ...arr1]; console.log(arr2); // ["小明", "张三", "李四", "王五"]
3.使用Aarry.concat()方法
//用于连接两个或多个数组,并返回一个新数组,该方法不会改变原数组 var arr3 = ['aaa']; console.log(arr3.concat(arr2)); // ["aaa", "小明", "张三", "李四", "王五"] console.log(arr2); // ["小明", "张三", "李四", "王五"]
数组开头添加元素并返回新数组
1.运行时间: 977ms 占用内存: 77900KB
function prepend(arr, item) { var newarr = arr.concat(); newarr.unshift(item) return newarr } var arr = [1, 2, 3, 4]; var item = 10
2.运行时间: 1048ms 占用内存: 77776KB
function prepend(arr, item) { var newarr = arr.slice(); newarr.unshift(item) return newarr } var arr = [1, 2, 3, 4]; var item = 10;
3.运行时间: 1034ms 占用内存: 77776KB
function prepend(arr, item) { return [item].concat(arr) } var arr = [1, 2, 3, 4]; var item = 10;
4.运行时间: 1010ms 占用内存: 77880KB
function prepend(arr, item) { var newarr = [item]; newarr.push.apply(newarr,arr) return newarr } var arr = [1, 2, 3, 4]; var item = 10;
5.运行时间: 1409ms 占用内存: 77840KB
function prepend(arr, item) { var newarr = arr.slice(); newarr.splice(0,0,item); return newarr } var arr = [1, 2, 3, 4]; var item = 10;
6.运行时间: 997ms 占用内存: 77848KB
function prepend(arr, item) { var newarr = [item]; for(var i = 0; i < arr.length; i++){ newarr.push(arr[i]) } return newarr } var arr = [1, 2, 3, 4]; var item = 10;
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。