使用 $.each 将值放入数组对象中

Putting value into array object using $.each

本文关键字:数组 对象 each 使用      更新时间:2023-09-26

我想制作这样的东西

album = {[
 name:'',
image:'',
tracks:[]
],[
 name:'',
image:'',
tracks:[]
]}

但是现在我只能将值附加到正确的 json 对象中。

var albums = {};
$.get("https://api.spotify.com/v1/artists/1rQX6kg84TqcwGtZHYIdn4/albums", function(data, status) {
  tempArr = [];
  $.each(data.items, function(i, obj) {
    tempArr.push(obj.images[0].url);
    albums['image'] = tempArr;
  });
  console.log(albums)
});

您可以在此处查看蛋白数据 http://jsfiddle.net/u5me8csx/1有什么帮助吗?

问题中albums对象的语法是错误的,您已经交换了用于对象和数组表示法的括号。

您可以使用 Array.map() 遍历项目并创建所需的格式,例如

$.get("https://api.spotify.com/v1/artists/1rQX6kg84TqcwGtZHYIdn4/albums", function(data, status) {
  var albums = data.items.map(function(item) {
    return {
      name: item.name,
      image: item.images[0],
      tracks: []
    }
  });
  console.log(albums);
  $('#result').text(JSON.stringify(albums, null, 2))
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<pre id="result"></pre>