JavaScript拼接问题

时间:2011-01-10 18:26:31

标签: javascript splice

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方法应该删除定义的元素并返回它们。

2 个答案:

答案 0 :(得分:6)

您可以使用shift来完成此操作 - 它会删除并返回数组中的第一个元素。

你的问题是splice返回一个数组,所以你的代码必须是:

alert("removed element's 'a': " + element[0].a);

答案 1 :(得分:2)

splice返回已删除元素的数组。

这应该有效

alert("removed element's 'a': " + element[0].a);