Функция push должна существовать. вы можете захватить его из свойства Array, если хотите. сделать это, только если он должен быть в структуре объекта
var x = {length:0,push:Array.prototype.push};
x.push("jump");
console.log(x);//Object {0: "jump", length: 1}
I go over the mininmum requirement for some array functions to work on an object:
Mimic the structure of a javascript array object
EDIT: Я заметил, ваши reuirements потребность объект без индекса длины и строки основанный вместо индекса числа. собираюсь испытать что-то
штопать Я надеялся, что-то дикое уже был там и пытался
var x = {};
x += {"BadGuy": "Joker"};
console.log(x)//[object Object][object Object] //:(
поэтому я сделал свою собственную нажимную функцию
var x = {push:ObjPush};
x.push("jump");//Object cannot add (string) yet Coming soon
y = {"BadGuy": "Joker"};
x.push(y);
console.log(x);//{"BadGuy": "Joker"};
function ObjPush(obj)
{
if ((typeof obj).toLowerCase() == "object")
{
for (var i in obj)
{
this[i] = obj[i];
}
}
else
{
console.log("Object cannot add (" + typeof obj + ") yet\n Coming soon");
}
}
Примечание: я гавань» t добавила какую-либо обработку для проверки того же свойства. поэтому любые свойства с таким же именем будут переопределить исходные свойства.
EDIT: Я интегрирован мой код с вашими и получил странный вывод, к сожалению. по какой-то причине вместо добавления средних и больших, как свойства для внутренних объектов, которые он только добавляет последний 1, например я получить выход
{"Pan":{"Large":null},"Thin Crust":{"Medium":10.5}}
EDIT: OK Я нашел, где моя проблема была. Теперь я получаю ожидаемый результат. добавлена проверка, чтобы убедиться, что $ scope.crustRule [trimOne [1]] инициализируется только в том случае, если он еще не существует.
if(typeof $scope.crustRule[trimOne[1]] == "undefined")
$scope.crustRule[trimOne[1]] = {push:ObjPush};
Вы получаете сообщение об ошибке? если не то, что вы получаете? и что вопрос имеет отношение к угловому? – Felix
Я получаю сообщение об ошибке в моей консоли 'Can not read property 'push' of undefined' – Aniruth
heh! что делает ответ довольно очевидным ... – Felix