JSON数组 - 删除第一个元素

时间:2011-10-19 18:54:28

标签: javascript jquery json

我不想带回或删除数组中的第一条记录并将其附加到我的页面。我从下面的JSON文件中获取数据:

$(data.content).each(function(index, content){
  $("#htmlID").append('<span>' + content.myinfo + ');
});
    {

    "content": 

    [ 
{"myinfo":"Bill Clinton 095 years old. "},
{"myinfo":"Bill Clinton 195 years old. "},
{"myinfo":"Bill Clinton 295 years old. "},
{"myinfo":"Bill Clinton 295 years old. "}

    ]
    }

当我将我的数据追加到页面时,一切都很完美,但我想跳过第一个元素(索引)...我基本上不想带回比尔克林顿095岁的特定输出。< / p>

我该怎么做? (grep?,删除,删除?)。

最简单的方法是什么?

4 个答案:

答案 0 :(得分:7)

您可能不想修改数组或JSON,所以只需测试执行循环时您所在的元素:

$(data.content).each(function(index, content){
    if (index>0) { // skips first element
        $("#htmlID").append('<span>' + content.myinfo + '</span>');
    }
});

或者更好的是,只需使用一个老式的for循环并节省一些开销:

for (var i=1; i<data.content.length; i++) {
    $("#htmlID").append('<span>' + data.content[i].myinfo + '</span>');
}

答案 1 :(得分:2)

使用.shift();方法执行此操作,它将移动第一个元素

答案 2 :(得分:2)

如果你只是想跳过第一项,那就可以了:

$(data.content).each(function(index, content){
  if (index > 0) {
    $("#htmlID").append('<span>' + content.myinfo + '</span>');
  }
});

答案 3 :(得分:0)

从索引为1的旧式for循环怎么样:

var target = $("#htmlID");
for (var i = 1, len = data.content.length; i < len; i++) {
    target.append('<span>' + data.content[i].myinfo + '</span>');
}