在jQuery中从数组中删除元素

时间:2016-03-31 10:15:30

标签: javascript jquery

我正在尝试从xml文件中删除数组中的第一个元素。我试图使用拼接方法,但它不起作用。有人能帮我吗?

.ajax({
    type: "GET",
    url: 'my.xml',
    dataType: "xml",
    success: function(xml) {
        var array = [];
        var data = $.xml2json(xml)['#document'];
        that.array = data.contacts;
    }
})

数据:

enter image description here

2 个答案:

答案 0 :(得分:2)

由于您附上了对象数据的屏幕截图,因此您可以使用Array.prototype.shift()删除数组中的第一个条目:

var array = [];
var data = $.xml2json(xml)['#document'];
array = data.contact.name.shift(); // <----this will remove the first entry in the array.

示例演示:

&#13;
&#13;
var array = [];
var data = {
  contact: {
    name: [{
      name: "one"
    }, {
      name: "two"
    }, {
      name: "three"
    }]
  }
};
array = data.contact.name.shift(); // <----this will remove the first entry in the array.
document.querySelector('pre').innerHTML = JSON.stringify(data, 0, 3);
&#13;
<pre></pre>
&#13;
&#13;
&#13;

答案 1 :(得分:2)

找到要删除的元素的索引(使用indexOf),然后使用splice将其删除....

var idx = that.array.indexOf(theIndexyouWantToRemove);
that.array.splice(idx, 1);

如果它绝对是第一个元素,那么你可以使用shift()