JS中的5种数组方法

来源:互联网 发布:microsoft c 软件下载 编辑:程序博客网 时间:2024/06/05 08:36

JS中的5种数组方法

==========

  • Array.forEach()
    .forEach() 方法: 遍历数组里的每个元素,你可以在回调函数里对每个元素进行操作, 没有返回值。
<div ng-app="myApp" ng-controller="myCtrl">    <div ng-repeat="animal in animals"><span>{{animal}}</span></div></div><script>    var app = angular.module('myApp', []);    app.controller('myCtrl', function($scope){        $scope.animals = ['dog', 'cat', 'mouse'];        $scope.animals.forEach(function(item){            console.log(item);        });    });</script>
  • Array.map()
    .map() 方法能够遍历整个数组,然后 返回一个新数组,这个新数组里的元素是经过了指定的回调函数处理过的。

如果你想修改数组里的每个元素,然后将修改后的数组存入新的数组,那使用 .map() 方法最方便。

<div ng-app="myApp" ng-controller="myCtrl">    <div ng-model="doubleNums">{{doubleNums}}</div></div><script>    var app = angular.module('myApp', []);    app.controller('myCtrl', function($scope){        $scope.numbers = [2, 4, 6, 8];        $scope.doubleNums = $scope.numbers.map(function(element) {            return element * 2;        });    });</script>
  • Array.filter()
    .filter() 方法能够 过滤掉数组中的某些元素,你可以在回调函数里设定条件,不符合条件的元素都会排除在外。
<div ng-app="myApp" ng-controller="myCtrl">    <div ng-model="topScores">{{topScores}}</div></div><script>    var app = angular.module('myApp', []);    app.controller('myCtrl', function($scope){        $scope.scores = [3, 12, 5, 23, 19, 7];        $scope.topScores = $scope.scores.filter(function(item){            if (item > 10){                return true;            } else {                return false;            }        });    });</script>
  • Array.valueOf()
    indexOf() 能够告诉你 某个元素在数组中的位置,它返回的是索引值,如果数组里有重复的元素,它会返回第一个元素的位置
<div ng-app="myApp" ng-controller="myCtrl">    <div ng-model="index">{{index}}</div></div><script>    var app = angular.module('myApp', []);    app.controller('myCtrl', function($scope){        $scope.index = [];        $scope.arrayTest = [2, 9, 9, 18];        $scope.arrayTest.forEach(function(item){            $scope.index.push($scope.arrayTest.indexOf(item));        });        /*        if ($scope.arrayTest.indexOf(7) === -1) {          // 数组中没有这个元素        }*/    });</script>
  • Array.every()
    .every() 方法的作用是用指定的回调函数去检查数组中的每个元素,如果对于每个元素这个回调函数都返回true,则.every()返回true。否则,.every() 返回false。

如果你想知道数组中的所有元素都是否符合某种条件,使用 .every() 最方便。

<div ng-app="myApp" ng-controller="myCtrl">    <div ng-model="olderThan18">{{olderThan18}}</div></div><script>    var app = angular.module('myApp', []);    app.controller('myCtrl', function($scope){        $scope.ages = [23, 19, 32, 44];        $scope.olderThan18 = $scope.ages.every(function(element) {            return element > 18;        });    });</script>

以上5种数组方法是参考其他博客内容,自己结合angular js实现代码部分。

原创粉丝点击