为了账号安全,请及时绑定邮箱和手机立即绑定

为 array.push() 中的对象命名

为 array.push() 中的对象命名

Qyouu 2021-06-11 09:01:41
在我的代码的一部分中,我从 JSON 文件中提取数据并将其放置在基于对象的数组中。我成功接收数据,并且可以将每个数据放在数组中的单个对象上。唯一的问题是,我想为每个对象命名。var playlist_data = {  "Music1": {    "soundcloud": "Soundcloud Music 1",    "spotify": "Spotify Music 1"  },  "Music2": {    "soundcloud": "Soundcloud Music 2",    "spotify": "Spotify Music 2"  },  "Music3": {    "soundcloud": "Soundcloud Music 3",    "spotify": "Spotify Music 3"  },  "Music4": {    "soundcloud": "Soundcloud Music 4",    "spotify": "Spotify Music 4"  }};var links = [];$.each(playlist_data, function(index, element) {  links.push({    spotify: element.spotify,    soundcloud: element.soundcloud,  });});console.log(links);<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>在上面的代码中似乎复制了相同的 JSON 数据,但它是一个简化版本。所以结果我想这样称呼它links.Music2和links.Music2.spotify
查看完整描述

3 回答

?
繁华开满天机

TA贡献1816条经验 获得超4个赞

由于您似乎想将spotify用作links.


JS中有两种类型的数组:


标准数组是: [ ]


关联数组是:{ }!


如您所见,您可以将{ }which 也用作 javascript 中的对象作为数组。然后你就可以用它spotify作为钥匙了。所以你的代码将如下所示:


var links = {};

$.each(playlist_data, function(index, element) {

  links[index] = {

    spotify: element.spotify,

    soundcloud: element.soundcloud,

  };

});

console.log(links_s.Music1.spotify) // Spotify Music 1


查看完整回答
反对 回复 2021-06-18
?
蛊毒传说

TA贡献1895条经验 获得超3个赞

你可以用下面的代码命名你的每个 obj


var playlist_data = {

  "Music1": {

    "soundcloud": "Soundcloud Music 1",

    "spotify": "Spotify Music 1"

  },

  "Music2": {

    "soundcloud": "Soundcloud Music 2",

    "spotify": "Spotify Music 2"

  },

  "Music3": {

    "soundcloud": "Soundcloud Music 3",

    "spotify": "Spotify Music 3"

  },

  "Music4": {

    "soundcloud": "Soundcloud Music 4",

    "spotify": "Spotify Music 4"

  }

};

var links = [];

$.each(playlist_data, function(index, element) {

  links.push({

    spotify: element.spotify,

    soundcloud: element.soundcloud,

  });

});


let myMusic = {};


for(let x = 0 ; x < links.length ; x++)

{

    let z = Number(x+1);

    myMusic["music"+z] = links[x];

}


console.log(myMusic.music1);


查看完整回答
反对 回复 2021-06-18
  • 3 回答
  • 0 关注
  • 242 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信