我在javascript中有一个数组
var myArr = {
'textId':'123',
'type':'animal',
'content':'hi dog',
'expires':'27/10/2012'
};
$.each(myArr, function(myArrArrKey, myArrArrValue){
console.log( myArrArrValue );
});
以上控制台打印以下值
123
app
hi app
27/10/2012
现在我想将一个元素附加到现有数组,我想尝试像下面这样做
myArrValue.push({'status':'active'});
以上推送抛出以下错误
TypeError: Object #<Object> has no method 'push'
请帮助我如何附加到现有的数组元素 我想像
那样打印数组123
app
hi app
27/10/2012
active
答案 0 :(得分:4)
就这样做。
myArr.status = 'active'
或
myArr["status"] = 'active'
您的myArr
是Object
而不是Array
..
push
函数可用于Array
变量。
答案 1 :(得分:3)
这不是一个数组,它是一个对象!
var myArr = {
'textId':'123',
'type':'animal',
'content':'hi dog',
'expires':'27/10/2012'
};
这对jQuery来说没有必要
$.each(myArr, function(myArrArrKey, myArrArrValue){
console.log( myArrArrValue );
});
更容易
for ( var k in myArr ) {
console.log( myArr[ k ];
}
将新条目添加到“数组”
myArr[ 'foo' ] = 'bar'; // this is array notation
或
myArr.foo = 'bar'; // this is object notation
从“阵列”中删除条目
delete myArr[ 'foo' ];
或
delete myArr.foo;
供参考:
myArrValue.push({'status':'active'});
不会工作。 myArrValue本身不是“数组”,也不是具有方法push
的数组。
如果它是一个数组结果,那么你的最新条目就是整个对象{'status':'active'}
答案 2 :(得分:2)
答案是在错误中...你有一个对象,而不是一个数组。使用对象表示法
myArr.status='active'
答案 3 :(得分:2)
只需使用:
myArrValue.status = 'active';
但请注意,您使用的是对象,而不是数组。向对象添加属性的另一种方法是:
object[key] = value;
答案 4 :(得分:2)
这个json对象不是数组推送的数组 对于你做的json
myObj.NewProp = 123;
答案 5 :(得分:2)
只是为了生病..
function push( obj ) {
var prop;
for ( prop in obj ) {
this[prop] = obj[prop];
}
return this;
}
你的对象,记得分配推送方法。
var obj = {
a: "a",
b: "b",
push: push
};
推动:
obj.push({
c: "c",
d: "d"
});
答案 6 :(得分:1)
myArr["status"] = 'active';
或
myArr.status ='active';