如何不变地插入排序的数组?

时间:2019-09-11 23:09:36

标签: javascript arrays immutability

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

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

我找到的最接近的解决方案是此one here,但它不涵盖对排序数组的插入。

1 个答案:

答案 0 :(得分:1)

尝试这个。

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);