没有真正找到针对 Javascript 的解决方案。 我需要的;我想将一个元素插入到数组中,但并不真正覆盖该元素。而是一个“动态”插入。因此插入元素,然后将它下面的所有元素移动 +1 索引。
例如:
I have an array "14S" "16S" "19S".
I know want to insert "15S".
The resulting array: "14S" "15S" "16S" "19S"
我尝试了什么:
fullName = "15S"
low = 5;
cardsS[low] = fullName;
for (var i = low; i < cardsS.length; i++) {
cardsS[i + 1] = cardsS[i];
}
最佳答案
如果您知道要插入元素的位置:
使用 splice方法。它很便宜,而且完全按照您的意愿工作。您还可以一次插入多个元素:
var strings = ["14S", "16S", "19S"];
strings.splice(1,0,"15S");
结果
"14S" "15S" "16S" "19S"
如果您不希望数组以特定方式排序,您也应该使用此解决方案。
如果您不知道要插入元素的位置:
您将不得不求助于 push/sort组合,提供您自己的排序算法(除非标准排序就足够了)
var strings = ["14S", "16S", "19S"];
strings.push("15S");
strings.sort(function(a, b){
if (a is less than b by some ordering criterion)
return -1;
if (a is greater than b by the ordering criterion)
return 1;
// a must be equal to b
return 0;
});
关于Javascript(动态)插入数组,然后将所有元素移动到+1下面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20468751/