gpt4 book ai didi

javascript - 将数组中的多个元素移动到数组中的某个索引

转载 作者:行者123 更新时间:2023-11-30 00:28:19 24 4
gpt4 key购买 nike

我有一个元素数组。

0,1,2,3,4,5,6,7,8,9

用户可以选择任意数量的元素并要求将它们移动到任何 1 个特定元素之后。

示例:例如要求将 4、5、7 移到 1 之后,从而导致

0,1,4,5,7,2,3,6,8,9

或要求将 0,5 移到 9 之后

1,2,3,4,6,7,8,9,0,5

非常感谢任何伪代码。

                move_after= function(after, move_array) {
//remove elements from the array
move_array.forEach(function(element) {
var index = operations.indexOf(element);
operations.splice(index, 1);
});


var after_index = operations.indexOf(after) + 1;

//insert each move_array element to array
move_array.forEach(function(element) {
operations.splice(after_index++, 0, element);
});
}

move_after(2, [0,1]);

并没有给我想要的东西

最佳答案

这里使用了一个原型(prototype),它在特定数字后插入一个数组:

Array.prototype.insertIntoArr = function(insert, digit) {
var i = this.indexOf(digit) + 1;
return this.slice(0, i).concat(insert).concat(this.slice(i));
}

函数 moveAfter( ... ) 首先从 toMove 的值中清理数组。第二个 toMove 被插入到特定数字之后:

function moveAfter(arr, toMove, after) {
toMove.forEach(function (value) {
arr.splice(arr.indexOf(value), 1);
});
var res = arr.insertIntoArr(toMove, after);
return res;
}

Example

关于javascript - 将数组中的多个元素移动到数组中的某个索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30584292/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com