JS小问题,这个函数怎么写?尽可能用点操作符

写一个函数,根据传入的 ​id​(如2548)、​prop​(属性,如"artist"或"tracks")以及 ​value​(值,如"Addicted to Love")来修改音乐专辑收藏的数据。 

如果属性 ​prop​不是 "tracks" 且值 ​value​不为空(""),则更新或设置该专辑属性的值 ​value​。 

你的函数必须始终返回整个音乐专辑集合对象。 

处理不完整数据有几条规则: 

如果属性​prop​是"tracks",但是专辑没有"tracks"属性,则在添加值之前先给"tracks"创建一个空数组。 

如果​prop​是"tracks",并且值​value​不为空(""), 把值​value​添加到tracks数组中。

如果值value为空(""),则删除专辑的这一属性​prop 

 

 

 

var collection = {
  2548: {
    album: "Slippery When Wet",
    artist: "Bon Jovi",
    tracks: [
      "Let It Rock",
      "You Give Love a Bad Name"
    ]
  },
  2468: {
    album: "1999",
    artist: "Prince",
    tracks: [
      "1999",
      "Little Red Corvette"
    ]
  },
  1245: {
    artist: "Robert Palmer",
    tracks: [ ]
  },
  5439: {
    album: "ABBA Gold"
  }
};

// 在这行下面修改代码
function updateRecords(id, prop, value) {


  return collection;
}

// 测试
updateRecords(5439, "artist", "ABBA");

看下我写的对不对,望采纳哦~

var collection = {
              2548: {
              album: "Slippery When Wet",
              artist: "Bon Jovi",
              tracks: [
                "Let It Rock",
                "You Give Love a Bad Name"
              ]
            },
            2468: {
              album: "1999",
              artist: "Prince",
              tracks: [
                "1999",
                "Little Red Corvette"
              ]
            },
            1245: {
              artist: "Robert Palmer",
              tracks: []
            },
            5439: {
              album: "ABBA Gold"
            }
          };

          // 在这行下面修改代码, PS 由于函数形参名prop是关键字,会报错的,所以我换成了propKey,要注意规范哦
          function updateRecords(id, propKey, value) {
            if (!collection[id]) {
              collection[id] = {} // 如果传入的id不存在就自动创建一条专辑,如果不需要这个功能就删除这行,改成return
            }
          
            if (propKey !== 'tracks' && value) {
              // 如果属性 ​prop ​不是 "tracks" 且值 ​value ​不为空(""),则更新或设置该专辑属性的值 ​value
              collection[id][propKey] = value
            } else if (propKey === 'tracks' && value) {
              // 如果​prop​是"tracks",并且值​value​不为空(""), 把值​value​添加到tracks数组中。
              // 如果专辑没有"tracks"属性,则先创建"tracks"属性再添加
              collection[id].tracks = [value].concat(collection[id].tracks || [])
            } else if (!value) {
              // 如果值value为空(""),则删除专辑的这一属性​prop
              delete collection[id][propKey]
            }

            return collection
          }

          // 测试
          console.log(updateRecords(5439, "artist", "ABBA"));