扩展数组而不是在AngularJS中替换

时间:2015-09-09 07:50:58

标签: javascript arrays angularjs local-storage lodash

我有一个函数用一个新的替换LocalStorage中的数组。 它看起来像这样:

$scope.extendData = function () {

    $scope.recordlist.push($scope.filteredRecordsToExtend);
    jsonToRecordLocalStorage($scope.recordlist);
};

我要做的是创建另一个函数,而不是用新数组(filteredRecordsToExtend)替换记录列表,它实际上将新数组中的对象添加到现有数组中,然后附加它们。

我尝试了以下内容:

def _green_thread_modules():
    from eventlet.green import Queue
    from eventlet.green import thread
    from eventlet.green import threading
    if six.PY2:
        return [('Queue', Queue), ('thread', thread), ('threading', threading)]
    if six.PY3:
        return [('queue', Queue), ('_thread', thread), ('threading', threading)]

但它创建了一个包含其中对象的新数组,它不会仅附加对象。

enter image description here

哦,我已经加载了LoDash,所以它可能有用吗?

任何提示?

2 个答案:

答案 0 :(得分:2)

您可以使用Lodash(.flatten())“平放”嵌套数组,也可以使用.concat()代替.push()来合并2个或更多数组。

<强> Lodash:

$scope.recordlist = _.flatten($scope.recordlist.push($scope.filteredRecordsToExtend))

普通JS:

$scope.recordlist = $scope.recordlist.concat($scope.filteredRecordsToExtend)

答案 1 :(得分:0)

$scope.recordlist.push.apply($scope.recordlist, $scope.filteredRecordsToExtend)

使用apply()将多个参数传递给push() 以数组的形式