如何不可变地插入到排序数组中?

How to immutably insert into a sorted array?

如何将元素不可变地插入到排序数组中? (为简单起见,我们假设一个整数数组)

这个问题的原因:我正在为 React 应用程序编写一个 reducer,其中元素在我的特定数组中的顺序很重要。

我找到的最接近的解决方案是这个 one here,但它不包括插入排序数组。

试试这个。

let sortedArr = [1,2,5,9,12];

const newItem = 7;

for (let i = 0; i < sortedArr.length; i++) {
  if (newItem <= sortedArr[i]) {
    sortedArr = [...sortedArr.slice(0, i), newItem, ...sortedArr.slice(i)];
    break;
  }
}
console.log(sortedArr);