Добавить новый элемент в существующий объект

Я искал способ добавить новые элементы в существующий объект, как то, что push делает с массивами

Я пробовал это, и это не сработало:

var myFunction = {
    Author: 'my name ',
    date: '15-12-2012',
    doSomething: function(){
        alert("helloworld")
    }
};
myFunction.push({
    bookName:'mybook',
    bookdesc: 'new'
});
console.log(myFunction);
 Kevin B15 июн. 2012 г., 22:35
myFunction это объект. Объекты не имеютpush метод. (ни функции не делают)

Ответы на вопрос(6)

а затем вставить данные JSON в массив с помощьюpush

Проверь этоhttps://jsfiddle.net/cx2rk40e/2/

$(document).ready(function(){

  // using jQuery just to load function but will work without library.
  $( "button" ).on( "click", go );

  // Array of JSON we will append too.
  var jsonTest = [{
    "colour": "blue",
    "link": "http1"
  }]

  // Appends JSON to array with push. Then displays the data in alert.
  function go() {    
      jsonTest.push({"colour":"red", "link":"http2"});
      alert(JSON.stringify(jsonTest));    
    }

}); 

РезультатJSON.stringify(jsonTest)

[{"col,our":"blue","link":"http1"},{"colour":"red","link":"http2"}]

Этот ответ может быть полезен для пользователей, которые хотят подражать подобному результату.

Решение Вопроса

myFunction.bookName = 'mybook';
myFunction.bookdesc = 'new';

Или, если вы используете jQuery:

$(myFunction).extend({
    bookName:'mybook',
    bookdesc: 'new'
});

push метод неправильный, потому что он принадлежитArray.prototype объект.

Чтобы создать именованный объект, попробуйте это:

var myObj = function(){
    this.property = 'foo';
    this.bar = function(){
    }
}
myObj.prototype.objProp = true;
var newObj = new myObj();
 15 июн. 2012 г., 22:47
Я обновил ответ
 Mina Gabriel15 июн. 2012 г., 22:43
когда вы делаете console.log (yourObject), он появляется как именованный объект, как мы можем изменить это отображаемое имя?
 Mina Gabriel15 июн. 2012 г., 22:39
спасибо, это звучит хорошо, но мой другой вопрос о том, как мы можем дать имя объекту
 15 июн. 2012 г., 22:40
Какое имя? Не могли бы вы объяснить лучше?

метод расширения jQuery, Это позволит вам добавить других членов к уже созданному объекту JS.

 12 окт. 2015 г., 22:09
Это также доступно в lodash:lodash.com/docs#isEmpty : _.isEmpty ({'a': 1}); // & # x2192; ложный

Ты можешь использоватьпростираться добавить новые объекты в существующий.

myFunction.foo = "bar" и это добавит это.myFunction это имя объекта в этом случае.

Синтаксис jQuery, упомянутый Данило Валенте выше, не работает. Это должно быть следующим

$.extend(myFunction,{
    bookName:'mybook',
    bookdesc: 'new'
});

Ваш ответ на вопрос