2023:Js中新增四个不修改原数组的方法

JavaScript 引入了在不改变原始数组的情况下更改元素排序反转拼接数组的强大功能,从而赋予其不变性。

即允许对数组进行操作时,不改变原数组,而返回一个原数组的拷贝。

*********************************************

with()

with(index, value)对应splice(index, 1, value),用来将指定位置的成员替换为新的值。

const arr = ["I""B""R""A""H""I""M"];
console.log(arr.with(2, "b")); // ["I""B""b""A""H""I""M"]
// replace the second index with the provided value "b"
console.log(arr); // ["I""B""R""A""H""I""M"];

toSorted()

toSorted()对应sort(),用来对数组成员排序。toSorted()方法返回一个全新的数组,并且该数组中的元素按升序排列。

const arr = ["I""B""R""A""H""I""M"];
console.log(arr.toSorted()); // ['A''B''H''I''I''M''R']
console.log(arr); // ["I""B""R""A""H""I""M"];


const numbers = [1, 10, 21, 2];
console.log(numbers.toSorted((a, b) => a - b)) //[1, 2, 10, 21]

toReversed()

toReversed()对应reverse(),返回一个新数组,其中元素的顺序相反。

const arr = ["I""B""R""A""H""I""M"];
console.log(arr.toReversed()); // ['M''I''H''A''R''B''I']

const numbers = [1, 10, 21, 2];
console.log(numbers.toReversed()) //[2, 21, 10, 1]

toSpliced()

toSpliced()对应splice(),用来在指定位置,删除指定数量的成员,并插入新成员。

const arr = ["I""B""R""A""H""I""M"];
console.log(arr.toSpliced(3, 3, "BAG")); // ['I''B''R''BAG''M']

const months = ["Jan""Mar""Apr""May"];
console.log(months.toSpliced(1, 0, "Feb")) // ["Jan""Feb""Mar""Apr""May"]
#Javascript#
全部评论

相关推荐

墨西哥大灰狼:如果你的校友卤馆还在的话,他肯定会给你建议的,可是卤馆注销了@ 程序员卤馆
点赞 评论 收藏
分享
06-18 15:03
门头沟学院 Java
至少实习看起来比去年好?问了下群里的同学和身边的同学,人均有offer。有的还有好几个大厂offer
菜鸟1973:上一年暑期也是人均大厂实习offer,结果秋招跟不招人一样,大部分都转正了
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务