A有一个对象数组,我想从中删除第一个元素并读取它的一些属性。但我不能。这是代码:
$.test = function(){
var array = [
{a: "a1", b: "b1"},
{a: "a2", b: "b2"},
{a: "a3", b: "b3"}
];
alert("0. element's 'a': " + array[0].a);
alert("length: " + array.length);
var element = array.splice(0, 1);
alert("length: " + array.length);
alert("removed element's 'a': " + element.a);
}
我明白了:
3
a1
2
undefined
为什么我总是得到“未定义”? splice方法应该删除定义的元素并返回它们。
答案 0 :(得分:6)
您可以使用shift
来完成此操作 - 它会删除并返回数组中的第一个元素。
你的问题是splice返回一个数组,所以你的代码必须是:
alert("removed element's 'a': " + element[0].a);
答案 1 :(得分:2)
splice
返回已删除元素的数组。
这应该有效
alert("removed element's 'a': " + element[0].a);