JavaScript about.push()

JavaScript about.push(),javascript,Javascript,我在网上搜索了很长时间。但是没有用。请帮助或尝试给出一些如何实现这一点的想法 var集合={ 1245: { 艺术家:“罗伯特·帕尔默”, 曲目:[] }, 5439: { 专辑:“阿巴金” } }; var collectionCopy=JSON.parse(JSON.stringify(collection)); 函数更新(id、属性、值){ 如果(值!=''&&prop=='tracks'){ collectionCopy[id][prop].push(值); 归还收集副本; } upd

我在网上搜索了很长时间。但是没有用。请帮助或尝试给出一些如何实现这一点的想法

var集合={
1245: {
艺术家:“罗伯特·帕尔默”,
曲目:[]
},
5439: {
专辑:“阿巴金”
}
};
var collectionCopy=JSON.parse(JSON.stringify(collection));
函数更新(id、属性、值){
如果(值!=''&&prop=='tracks'){
collectionCopy[id][prop].push(值);
归还收集副本;
}

update(1245,“tracks”,“沉溺于爱”);
在update()中的if语句中缺少一个}。下面的修复代码工作正常:

var collection = {
        1245: {
          artist: "Robert Palmer",
          tracks: [ ]
        },
        5439: {
          album: "ABBA Gold"
        }
    };

    var collectionCopy = JSON.parse(JSON.stringify(collection));

    function update(id, prop, value) {
      if (value !== '' && prop == 'tracks') {
        collectionCopy[id][prop].push(value);
      }
      return collectionCopy;
    }

    update(1245, "tracks", "Addicted to Love");
输出:

{ 1245: { artist: 'Robert Palmer', tracks: [ 'Addicted to Love' ] },
  5439: { album: 'ABBA Gold' } }

您的if语句未正确关闭。尝试使用IDE更整洁地构造代码,IDE通常可以为您做到这一点。代码应如下所示:

var集合={
1245: {
艺术家:“罗伯特·帕尔默”,
曲目:[]
},
5439: {
专辑:“阿巴金”
}
};
var collectionCopy=JSON.parse(JSON.stringify(collection));
函数更新(id、属性、值){
如果(值!=''&&prop=='tracks'){
collectionCopy[id][prop].push(值);
归还收集副本;
}
}
更新(1245,“轨道”,“爱上瘾”);

控制台日志(收集)
您发布的代码在语法上不正确,因此无法产生您所说的错误。