没有真正找到 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];
}
如果您知道要插入元素的位置:
Use the splice https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice方法。它很便宜并且完全按照您想要的方式工作。您还可以一次插入多个元素:
var strings = ["14S", "16S", "19S"];
strings.splice(1,0,"15S");
Result
"14S" "15S" "16S" "19S"
如果您不希望数组以特定方式排序,您也应该使用此解决方案。
如果您不知道要将元素插入的位置:
您将不得不求助于push https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push/sort https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/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;
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)