我在javascript中嵌套了这样的数组:
testArray['element1'] = {par1: "value1", par2: "value2" ... }
testArray['element2'] = {par1: "value1", par2: "value2" ... }
testArray['element3'] = {par1: "value1", par2: "value2" ... }
testArray['element4'] = {par1: "value1", par2: "value2" ... }
那么如何更改元素的位置?例如,而不是
("element1", "element2", "element3","element4")
to be
("element4", "element2", "element3","element1")
or
("element1", "element4", "element3","element2")
答案 0 :(得分:3)
您在问题中发布的内容不是数组,甚至不是有效的javascript语法。既然您询问订单,我会假设您没有使用对象作为javascript中的对象没有保证订单。
话虽这么说,我假设你有一个声明如下的数组:
var testArray = [{ ... }, { ... }, { ... }];
要交换两个元素,您只需要一个通用的交换函数:
var swap = function(theArray, indexA, indexB) {
var temp = theArray[indexA];
theArray[indexA] = theArray[indexB];
theArray[indexB] = temp;
};
swap(testArray, 0, 1);
答案 1 :(得分:1)
arr = [0,1,2,3];
a = arr[3];
arr[3] = arr[0];
arr[0] = a;
答案 2 :(得分:1)
您可以将其添加为数组原型,如下所示:
Array.prototype.swap = function (index1, index2) {
if (index1 <= this.length && index2 <= this.length) {
var temp = this[index2];
this[index2] = this[index1];
this[index1] = temp;
}
};
答案 3 :(得分:0)
我只是写一个交换函数。
var letters = "abcdefghijklmnopqrstuvwxyz".split("");
function swap(theArray, index1, index2) {
var temp = theArray[index2];
theArray[index2] = theArray[index1];
theArray[index1] = temp;
}
swap(letters, 2, 25); // swap "c" and "z"
答案 4 :(得分:0)
您现在可以:
let list = [1,2,3,4];
[list[1],list[3]] = [list[3],list[1]];
//Result: [1,4,3,2]