AngularJS $ scope数组对象重新排列

时间:2019-07-08 06:22:40

标签: json angularjs

我有一个json数组,我将其分配给 $ scope 对象以显示在前端。我想根据给定的id重新排列此数组。 这就是我的初始数组的样子。

$scope.listData = [{
id: 1,
name: adam,
title: testing title,
description: testing description
},
{
id: 2,
name: zampa,
title: testing title,
description: testing description
},
{
id: 3,
name: Aaron,
title: testing title,
description: testing description
}]

对于重新排列,对于给定id为3的实例,记录的重新排列应类似于3,1,2。

我尝试使用angular.forEach循环,但没有成功。

2 个答案:

答案 0 :(得分:1)

这是使用splice()unshift()的解决方案:

  public void ConfigureServices(IServiceCollection services)
    {
       services.AddMvc().AddJsonOptions(options => options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore); 
    }

完整代码段:

function moveToFront(id, array) {
  const i = array.findIndex(v => v.id === id);

  array.unshift(...array.splice(i, 1));
}

答案 1 :(得分:0)

///假设它最初是按id排序的,从frm one开始

listData.splice(0, 0, listData.splice(id - 1, 1)[0]);