如何不可变地插入到排序数组中?
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);
如何将元素不可变地插入到排序数组中? (为简单起见,我们假设一个整数数组)
这个问题的原因:我正在为 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);