我在拼接工作时遇到了麻烦。
我有一个数组,我将对象推入......
其中一个'属性'在这些对象上我推是一个数组(到目前为止我?):)
快速示例:
var userPicks = [];
userPicks.push({casename:caseName, fullname:fullName, trialdate:trialDate, citystate:cityState, plaintiff:plaintiff, itemsordered:itemsOrdered=[{name:itemOrdered, price:itemPrice}]});
这一切都很好,花花公子...我可以推送内容..访问它们并在控制台中查看正确的数据(FireBug)
但是当我尝试拼接某些东西时......我在FireBug / console中遇到错误..
TypeError: userPicks[i].itemsordered[x].splice is not a function
但是,我可以在'子阵列中添加内容。 (我将它称为...... itemsorderd [x]数组)..访问/读取它们......?
console.log("Name Check: "+userPicks[i].itemsordered[x].name); //works
userPicks[i].itemsordered.push({name:itemOrdered, price:itemPrice}); //works
但拼接不起作用?
我错过了什么?语法错误莫名其妙?
PLEASE!,,只有在你想提供帮助时才回答......不要只是告诉我你不知道或没时间提供帮助。
我似乎不能SPLICE()对象属性中的数组..(虽然推,并且访问/读取相同的数组很好)
所有'真实'感谢帮助!
感谢。
答案 0 :(得分:1)
您正在尝试在对象而不是数组上调用splice:
userPicks[i].itemsordered
是数组userPicks[i].itemsordered[x]
是数组中的一个对象,而不是数组本身。你想在userPicks[i].itemsordered
上调用splice,即:
userPicks[i].itemsordered.splice(...)