Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为array.push()中的对象指定名称_Javascript_Jquery_Arrays_Json_Object - Fatal编程技术网

Javascript 为array.push()中的对象指定名称

Javascript 为array.push()中的对象指定名称,javascript,jquery,arrays,json,object,Javascript,Jquery,Arrays,Json,Object,在代码的一部分中,我从JSON文件中提取数据,并将其放入基于对象的数组中 我成功地接收到数据,并且可以将每个数据放在阵列中的单个对象上。唯一的问题是,我想给每个对象命名 var播放列表\u数据={ “音乐1”:{ “soundcloud”:“soundcloud音乐1”, “spotify”:“spotify音乐1” }, “音乐2”:{ “soundcloud”:“soundcloud音乐2”, “spotify”:“spotify音乐2” }, “音乐3”:{ “soundcloud”:“

在代码的一部分中,我从JSON文件中提取数据,并将其放入基于对象的数组中

我成功地接收到数据,并且可以将每个数据放在阵列中的单个对象上。唯一的问题是,我想给每个对象命名

var播放列表\u数据={
“音乐1”:{
“soundcloud”:“soundcloud音乐1”,
“spotify”:“spotify音乐1”
},
“音乐2”:{
“soundcloud”:“soundcloud音乐2”,
“spotify”:“spotify音乐2”
},
“音乐3”:{
“soundcloud”:“soundcloud音乐3”,
“spotify”:“spotify音乐3”
},
“音乐4”:{
“soundcloud”:“soundcloud音乐4”,
“spotify”:“spotify音乐4”
}
};
var-links=[];
$。每个(播放列表\数据、函数(索引、元素){
links.push({
spotify:element.spotify,
soundcloud:element.soundcloud,
});
});
控制台日志(链接)

您可以使用如下代码命名每个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);
var播放列表\u数据={
“音乐1”:{
“soundcloud”:“soundcloud音乐1”,
“spotify”:“spotify音乐1”
},
“音乐2”:{
“soundcloud”:“soundcloud音乐2”,
“spotify”:“spotify音乐2”
},
“音乐3”:{
“soundcloud”:“soundcloud音乐3”,
“spotify”:“spotify音乐3”
},
“音乐4”:{
“soundcloud”:“soundcloud音乐4”,
“spotify”:“spotify音乐4”
}
};
var-links=[];
$。每个(播放列表\数据、函数(索引、元素){
links.push({
spotify:element.spotify,
soundcloud:element.soundcloud,
});
});
让我的音乐={};
for(设x=0;x
因为您似乎想使用
spotify
作为
链接的键

JS中有两种类型的数组:

标准阵列是:
[]

关联数组,它是:
{}

正如您所看到的,您可以使用
{}
,它在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

由于Javascript不支持命名索引,因此必须将
链接
作为对象,以便通过
links.Music2.spotify
访问其属性。这是很容易做到的,但是,它只会提供与开始时完全相同的数据:

var播放列表\u数据={
“音乐1”:{
“soundcloud”:“soundcloud音乐1”,
“spotify”:“spotify音乐1”
},
“音乐2”:{
“soundcloud”:“soundcloud音乐2”,
“spotify”:“spotify音乐2”
},
“音乐3”:{
“soundcloud”:“soundcloud音乐3”,
“spotify”:“spotify音乐3”
},
“音乐4”:{
“soundcloud”:“soundcloud音乐4”,
“spotify”:“spotify音乐4”
}
};
var-links={};
$。每个(播放列表\数据、函数(索引、元素){
链接[索引]={
spotify:element.spotify,
soundcloud:element.soundcloud,
};
});
控制台日志(链接);
console.log(links.Music2.spotify)

无法命名数组中的元素,因此需要使用对象。然而,您又回到了与JSON完全相同的数据结构,因此您的循环是完全相同的redundant@RoryMcCrossan是的,没错。但是主json文件要比这个长得多,包含各种数据。所以我想用特定的数据制作一个较小的主json版本