【问题标题】:How to display a JSON object starting from a specific index?如何显示从特定索引开始的 JSON 对象?
【发布时间】:2018-04-04 19:49:56
【问题描述】:

我有这个例子作为一个 json 对象

var obj = [{name: "ana", gender: "woman"}, {name: "ben", gender: "man"}, 
           {name: "andrew", gender: "man"}, {name: "jake", gender: "man"}]

我想显示从 json 对象的第二个索引开始到最后一个索引的列表。就像来自 ASP.NET 的 Take()

我有这个代码来实现它。但是有没有其他方法,比如比这段代码更好的解决方案来使过程更轻松?非常感谢。

这是我的代码:

 var obj = [{name: "ana", gender: "woman"}, {name: "ben", gender: "man"}, 
           {name: "andrew", gender: "man"}, {name: "jake", gender: "man"}];

   $scope.run = function () {
   var display = {};        
   var startingIndex = 1;        
   for(var i = 0;i >= startingIndex;i++){
   display.push(obj[i]);
   }
    alert(JSON.stringify(display));
  } 

【问题讨论】:

  • 这看起来不是一个有效的对象.....
  • @Claies 感谢您指出!将编辑我的问题。
  • @Claies +1 指出!

标签: asp.net angularjs arrays json asp.net-mvc


【解决方案1】:

你应该使用slice方法。

slice() 方法返回数组一部分的浅拷贝 进入从开始到结束(不包括结束)选择的新数组对象。 原数组不会被修改。

var obj = [{name: "ana", gender: "woman"}, {name: "ben", gender: "man"}, 
           {name: "andrew", gender: "man"}, {name: "jake", gender: "man"}];
obj=obj.slice(2);
console.log(obj);

【讨论】:

  • 这是不对的;原始问题有一个带有一系列数组的对象,您将其更改为对象数组。尽管它们的结构看起来不正确,而且这可能是它们实际想要展示的内容,但您应该澄清一下,而不是完全改变结构。
  • 值得注意的是,我没有对答案投反对票,而是其他人投了反对票;我只是想澄清这一点并确保代码实际上是有效的,并且 OP 遇到的问题实际上与他们滥用对象/数组无关。
  • 伙计们,我已经编辑了我的代码。对不起这个错误。谢谢你们。
  • 这个答案加一个。谢谢!
猜你喜欢
  • 2017-04-24
  • 1970-01-01
  • 1970-01-01
  • 2014-01-15
  • 1970-01-01
  • 1970-01-01
  • 2023-03-05
  • 1970-01-01
  • 2020-12-28
相关资源
最近更新 更多