mdn链接-数组 数组是一个包含了多个值的对象。数组对象可以存储在变量中,并且能用和其他任何类型的值完全相同的方式处理。
注意:
以下代码可以在浏览器控制台执行
稀疏数组 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(): 添加一个或多个元素添加到数组末尾
- 直接执行
myArray.push('Cardiff');
myArray;
myArray.push('Bradford', 'Brighton');
myArray;
- 接收方法执行的返回值,返回值为新数组的长度
var newLength = myArray.push('Bristol');
myArray;
newLength;
pop(): 删除最后一个元素
- 直接执行
myArray.pop();
- 接收方法执行的返回值,返回值为已删除的元素(即原数组中最后一个元素)
let removedItem = myArray.pop();
myArray;
removedItem;
unshift(): 添加一个或多个元素添加到数组首部
- 直接执行
//如果多个元素作为参数传递,它们将被插入到对象开头的块中,与它们作为参数传递的顺序完全相同。因此,调用一次 unshift() 方法并传递 n 个参数,与调用 n 次并传递 1 个参数(例如使用循环),不会产生相同的结果
myArray.unshift('Edinburgh');
myArray;
myArray.unshift('Edinburgh','xsfrgvsd');
myArray;
- 接收方法执行的返回值,返回值为新数组的长度
let newLength = myArray.unshift('Edinburgh');
newLength;
shift(): 删除第一个元素
- 直接执行
myArray.shift();
- 接收方法执行的返回值,返回值为已删除的元素(即原数组中第一个元素)
let removedItem = myArray.shift();
myArray;
removedItem;
sort():排序
sort()方法就地对数组的元素进行排序,并返回对相同数组的引用。默认排序是将元素转换为字符串,然后按照它们的 UTF-16 码元值升序排序。
splice(): 移除或者替换已存在的元素和/或添加新元素
splice()方法通过移除或者替换已存在的元素和/或添加新元素就地改变一个数组的内容。
reverse(): 翻转
reverse()方法就地反转数组中的元素,并返回同一数组的引用。数组的第一个元素会变成最后一个,数组的最后一个元素变成第一个。换句话说,数组中的元素顺序将被翻转,变为与之前相反的方向。