Js 数组——filter()、map()、some()、eve

2019-02-27  本文已影响0人  _conquer_

filter()

//在数组中只删掉偶数,只保留奇数
var arr=[1,2,3,4,5]
var r = arr.filter((item,index,arr)={return item % 2 !== 0; })


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

去除重复元素依靠的是indexOf总是返回第一个元素的位置,后续的重复元素位置与indexOf返回的位置不相等,因此被filter滤掉了

map()

//从接口得到数据 res:
let r = res.map(item => {
    return {
        title: item.name,
        sex: item.sex === 1? '男':item.sex === 0?'女':'保密',
        age: item.age,
        avatar: item.img
    }
})

some()

var arr=[2,3,5,7,8,3,9];
arr.some((element, index, self)=>{
    return (element >= 10);
})
//var arr=[2,3,5,7,8,3,9];  返回false
//var arr=[12,3,5,17,8,3,9];  返回true

every()

var arr=[2,3,5,7,8,3,9];
arr.evey((element, index, self)=>{
    return (element >= 10);
})
//var arr=[2,3,5,7,8,3,9];  返回false
//var arr=[12,3,5,17,8,3,9];  返回false
//var arr=[12,13,15,17,18,13,19];  返回true

forEach()

var ary = [12,23,24,42,1];  
var res = ary.forEach(function (item,index,input) {  
       input[index] = item*10;  
})  
console.log(res);//--> undefined;  
console.log(ary);//--> 通过数组索引改变了原数组;

lastIndexOf()

var str = 'xxa xxa xxax';
var endA2 = str.lastIndexOf('a',7) //查找的是字符串前7位之内的最后一个a

indexOf()

var str = 'xxa xxa xxax';
var endA2 = str.indexOf('a',5) //查找的是字符串前5位之后的第一个a

附注:

substring()
var str1="Hello world!"
document.write(st1r.substring(3))//lo world!
var str2="Hello world!"
document.write(str2.substring(3,7))//lo w
slice()
var str1="Hello happy world!"
document.write(str1.slice(6))//happy world!
var str2="Hello happy world!"
document.write(str2.slice(6,11))//happy
var str3="Hello happy world!"
document.write(str3.slice(-6,-1))//world
substr()
var str1="Hello world!"
document.write(str1.substr(3))//lo world!
var str2="Hello world!"
document.write(str2.substr(3,7))//lo worl
上一篇 下一篇

猜你喜欢

热点阅读