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

时间:2016-03-15 04:05:20

标签: javascript jquery json

我想制作像这样的东西

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 有什么帮助吗?

1 个答案:

答案 0 :(得分: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>