JavaScript数组常用方法详解

138 阅读3分钟

mdn链接-数组 数组是一个包含了多个值的对象。数组对象可以存储在变量中,并且能用和其他任何类型的值完全相同的方式处理。

注意:

以下代码可以在浏览器控制台执行 image.png

稀疏数组 MDN链接-稀疏数组

哪些方法不改变自身数组,稀疏矩阵的空槽会变成undefined

toSorted(): 排序

toSorted() 是 sort() 方法的复制方法版本。它返回一个新数组,其元素按升序排列。

toSpliced(): 移除或者替换已存在的元素和/或添加新元素

toSpliced() 方法是 splice() 方法的复制版本。它返回一个新数组,并在给定的索引处删除和/或替换了一些元素。

toReversed(): 反转数组

toReversed() 方法是 reverse() 方法对应的复制版本。它返回一个元素顺序相反的新数组

with(): 修改指定索引值的对应元素

with()方法是使用方括号表示法修改指定索引值的复制方法版本。它会返回一个新数组,其指定索引处的值会被新值替换

concat(): 方法用于合并两个或多个数组。

const array1 = ['a', 'b', 'c'];
const array2 = ['d', 'e', 'f'];
const array3 = array1.concat(array2);

console.log(array3);
// Expected output: Array ["a", "b", "c", "d", "e", "f"]

slice(): 截取数组

slice() 方法返回一个新的数组对象,这一对象是一个由 start 和 end 决定的原数组的浅拷贝(包括 start,不包括 end),其中 start 和 end 代表了数组元素的索引。原始数组不会被改变。 此方法不会更改现有数组,而是返回一个新数组

哪些方法改变自身数组

length: 获取长度

let arr = [1,2,3]
console.log(arr.length)

split(): 字符串->数组

let myData = 'Manchester,London,Liverpool,Birmingham,Leeds,Carlisle';
let myArray = myData.split(',');
console.log(myArray)

join(): 数组->字符串

let myArray = ['Manchester','London','Liverpool','Birmingham','Leeds','Carlisle']
let myNewString = myArray.join(',');
console.log(myNewString)

toString(): 数组->字符串<只能','>

let dogNames = ["Rocket","Flash","Bella","Slugger"];
dogNames.toString();//'Rocket,Flash,Bella,Slugger'

push(): 添加一个或多个元素添加到数组末尾

  1. 直接执行
myArray.push('Cardiff');
myArray;
myArray.push('Bradford', 'Brighton');
myArray;
  1. 接收方法执行的返回值,返回值为新数组的长度
var newLength = myArray.push('Bristol');
myArray;
newLength;

pop(): 删除最后一个元素

  1. 直接执行
myArray.pop();
  1. 接收方法执行的返回值,返回值为已删除的元素(即原数组中最后一个元素)
let removedItem = myArray.pop();
myArray;
removedItem;

unshift(): 添加一个或多个元素添加到数组首部

  1. 直接执行
//如果多个元素作为参数传递,它们将被插入到对象开头的块中,与它们作为参数传递的顺序完全相同。因此,调用一次 unshift() 方法并传递 n 个参数,与调用 n 次并传递 1 个参数(例如使用循环),不会产生相同的结果
myArray.unshift('Edinburgh');
myArray;
myArray.unshift('Edinburgh','xsfrgvsd');
myArray;
  1. 接收方法执行的返回值,返回值为新数组的长度
let newLength = myArray.unshift('Edinburgh');
newLength;

shift(): 删除第一个元素

  1. 直接执行
myArray.shift();
  1. 接收方法执行的返回值,返回值为已删除的元素(即原数组中第一个元素)
let removedItem = myArray.shift();
myArray;
removedItem;

sort():排序

sort()方法就地对数组的元素进行排序,并返回对相同数组的引用。默认排序是将元素转换为字符串,然后按照它们的 UTF-16 码元值升序排序。

splice(): 移除或者替换已存在的元素和/或添加新元素

splice()方法通过移除或者替换已存在的元素和/或添加新元素就地改变一个数组的内容。

reverse(): 翻转

reverse()方法就地反转数组中的元素,并返回同一数组的引用。数组的第一个元素会变成最后一个,数组的最后一个元素变成第一个。换句话说,数组中的元素顺序将被翻转,变为与之前相反的方向。