toSorted
toSorted
和sort
方法一样,都是排序的,但是toSorted
可以返回一个全新的数组,而不是在原数组上进行操作
{
let arr = [{name:"张三",age:20},{name:"李四",age:112},{name:"王五",age:18}];
// console.log(arr === arr.sort()); // true
// console.log(arr === arr.toSorted()); // false 返回一个全新的数组
// 用toSorted降序排序
let sortedArr = arr.toSorted((a,b)=>{
return b.age - a.age;
});
console.log(sortedArr); // [{name:"李四",age:112},{name:"张三",age:20},{name:"王五",age:18}]
}
toReversed
toReversed
和reverse
方法一样,都是反转的,但是toReversed
可以返回一个全新的数组,而不是在原数组上进行操作
{
let arr = [1,2,3,4,5,6,7,8,9,10];
// 用toReversed降序排序
let reversedArr = arr.toReversed();
console.log(reversedArr); // [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
}
with
根据某个索引修改单个元素,不改变原数组,返回一个全新的数组,第一参数是索引值,第二个是设置修改的值
{
let arr = [1,2,3,4,5,6,7,8,9,10];
// arr[2] = 1; 会修改原数组
// 用with修改数组某个值
let withArr = arr.with(1, "张三");
console.log(arr,withArr); // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [1, '张三', 3, 4, 5, 6, 7, 8, 9, 10]
}
toSpliced
和splice
方法功能一样,根据索引删除或者添加元素,但是不改变原数组,返回一个全新的数组
{
let arr = [1,2,3,4,5,6,7,8,9,10];
let splicedArr = arr.toSpliced(2,1,"a","b");
console.log(splicedArr); // [1, 2, 'a', 'b', 4, 5, 6, 7, 8, 9, 10]
}
findLast
从数组中获取最后一个匹配元素的实例。如果没有找到匹配的元素,则返回undefined
第一个参数传回调函数callbackFn
,可接受三个参数item,index,arr
{
let list = [1,2,3,4,5,6,7,8,9,10];
let el = list.findLast((item,index,arr)=>item%2 === 1);
console.log(el); // 9
}
findLastIndex
和findLast
一样,只是findLastIndex
查找的不是元素,而是下标
{
let list = [1,2,3,4,5,6,7,8,9,10];
let el = list.findLastIndex((item,index,arr)=>item%2 === 1);
console.log(el); // 8
}
网友评论