为什么在 Javascript 中拼接数组中的对象不返回数组
Why doesn't splicing an object from an array in Javascript return the array?
我有一个对象数组(比如一副纸牌):
var deck = [];
deck.push(new Card(suit, rank));
以下方法似乎有效:
var card = deck.pop();
var card = deck.shift();
(分别从甲板的"顶部"或"底部"拉动)
但是如果我想要一张中间的牌(比如说,如果这是一手牌)
var card = deck.splice(2,1);
对象似乎没有正确分配给变量(一切都未定义)。我查找的所有内容都表明拼接应该返回我要删除的对象 - 我错过了什么?
尝试
var card = deck.splice(2,1)[0];
由于拼接返回已删除元素的数组...
splice 返回一个可能删除的元素数组,因此如果您只删除一个元素,您仍然有一个数组。所以:
var card = deck.splice(2, 1)[0];
拼
接应该返回一个包含您删除的元素的数组。实际元素可以像这样获得:
var card = deck.splice(2,1)[0];
和这里一样的错误(即使是非常相似的环境:-):.splice()
返回已删除元素的数组,而不是单个元素。所以你需要获取该数组的第一个元素:
var card = deck.splice(2,1)[0];
相关文章:
- 将数组对象传递到struts2中的操作类
- 如何使用jquery返回php-json数组对象
- 从其名称获取javascript数组对象
- 值未与数组对象绑定
- 如何按数组/对象值的倍数过滤对象数组
- 在表中显示数组对象
- 在数组对象中分组
- 将第二个或多个数组推送到数组对象 AngularJS 中
- 重新排列 JavaScript 数组/对象
- 键上的javascript数组对象过滤器
- handontable:在不更改数据数组/对象的情况下隐藏某些列
- 用于跟踪购物车可用性的Javascript数组/对象/哈希表
- 重建有角度的java脚本数组对象
- 对JSON数组对象进行排序
- 连接与数组对象相关的文本:方式和位置
- 哪些浏览器和版本支持将常见的类数组对象直接传递到fn.apply()
- 如何使用Handlebars循环数组对象和模板
- 是否可以引用JS数组/对象中的另一个元素
- Javascript中的名称索引-数组/对象
- 数组长度不等于数组对象