如何在另一个数组中包含数组的元素?

时间:2016-10-19 18:47:08

标签: javascript html angularjs ionic-framework

例如,我有一个MAIN数组,其中包含我需要的所有信息:

  $scope.songs = [
    { title: 'Reggae',  url:"#/app/mworkouts", id: 1 },
    { title: 'Chill',   url:"#/app/browse",    id: 2 },
    { title: 'Dubstep', url:"#/app/search",    id: 3 },
    { title: 'Indie',   url:"#/app/search",    id: 4 },
    { title: 'Rap',     url:"#/app/mworkouts", id: 5 },
    { title: 'Cowbell', url:"#/app/mworkouts", id: 6 }
  ];

我想只将某些对象放入另一个数组而不输入每个对象,所以最终结果看起来像

  $scope.array1 = [
    { title: 'Reggae', url:"#/app/mworkouts",id: 1 },
    { title: 'Cowbell', url:"#/app/mworkouts",id: 6 }
  ];

我试过这个没有运气:

  $scope.array1 = [
    { $scope.songs[1] },
    { $scope.songs[6] }
  ];

我将不得不做一些这样的事情,因此输入每个对象将需要永远,有没有更快的方法来做到这一点?在此先感谢:)

2 个答案:

答案 0 :(得分:2)

你需要做这样的事情:

public Boolean createSuperList(String newKey) {
    SuperLink newSuperLink2 = new SuperLink(newKey);
    SuperLink current = first;
    boolean i = false;
    if (isEmpty()) {
        incertLast(newKey);
    }
    while (!current.keyWord.equals(newSuperLink2.keyWord) && current != null) {
        if (current.keyWord.equals(newSuperLink2.keyWord)) {
            System.out.println("Not unique Item");
            i = false;
            break;
        } else {
            System.out.println("Unique Item");
            i = true;
        }
        current = current.next;
    }
    if (i = true) {
        return i;
    } else {
        return i;
    }

}

此处,filter函数将为您提供要替换原始范围值的已过滤的新数组。

console

或者以简单的方式,使用数组索引,您可以使用:

$scope.array1 = $scope.songs.filter(function (song) {
  return (song.title == "Reggae" || song.title == "Cowbell");
});

答案 1 :(得分:1)

你需要删除大括号,因为它已经是一个对象。虽然数组索引从0开始,因此根据0更改索引值。

$scope.array1 = [ 
   $scope.songs[0] ,
   $scope.songs[5] 
];