JavaScript的filter用法

Js的有些操作会改变原来的对象;有些操作则不会改变原来对象。

数组的filter方法就不会改变原来数组

 

利用filter,可以巧妙地去除Array的重复元素:

'use strict';
var  r,
arr = ['apple', 'strawberry', 'banana', 'pear', 'apple', 'orange', 'orange', 'strawberry'];
r = arr.filter(function (element, index, self) {
    return self.indexOf(element) === index;
});

alert(r.toString());

indexOf总是返回第一个元素的位置,后续的重复元素位置与indexOf返回的位置不相等,因此被filter滤掉了,所以重复的元素仅会保留第一个位置的元素

 

array.filter don't update the origin array

参考:https://github.com/mobxjs/mobx/issues/1315

posted @ 2018-08-05 22:57  脚本小娃子  阅读(181)  评论(0编辑  收藏  举报