将数组中的对象移动到结尾

mow*_*gli 1 javascript arrays jquery object

我正在尝试找到一种方法将对象移动到数组的末尾

我有这个对象数组:

[{"id":"4","name":"Boaz"},{"id":"2","name":"Shareen"},{"id":"3","name":"Simon"},{"id":"1","name":"Miriam"}]
Run Code Online (Sandbox Code Playgroud)

假设我有一个id:3,或者一个位置:2.

有了这个我想把整套{"id":"3","name":"Simon"}移到最后

我尝试了很多东西,搜索和搜索,但我无法使它工作

dan*_*rme 13

您可以splice然后concat删除要删除的对象:

var array = [{"id":"4","name":"Boaz"},{"id":"2","name":"Shareen"},{"id":"3","name":"Simon"},{"id":"1","name":"Miriam"}];

var itemToReplace = array.splice(0, 1); // 0 is the item index, 1 is the count of items you want to remove.
// => [{"id":"4","name":"Boaz"}]

array = array.concat(itemToReplace);
Run Code Online (Sandbox Code Playgroud)

甚至更简单:

array = array.concat(array.splice(0, 1));
Run Code Online (Sandbox Code Playgroud)

BTW:它是一个对象数组,而不是数组的对象.


小智 5

你可以使用splice和concat数组方法

var arr = [{"id":"4","name":"Boaz"},{"id":"2","name":"Shareen"},{"id":"3","name":"Simon"},{"id":"1","name":"Miriam"}];
// Consider need move arr[2] to the end 
var removed = arr.splice(2,1);
var new_arr = arr.concat(removed);
Run Code Online (Sandbox Code Playgroud)