1. 映射
所谓的 映射 就是 将 数组单元的数据 都执行一个 固定的操作 生成第一个新的数组
数组.map( function(参数1,参数2,参数3){ return 数值操作; })
参数1: 数组单元的数值
参数2: 数组单元的索引下标
参数3: 数组本身 例: var arr = [100,200,300,400,500]; var newArr = arr.map( function(val,key,array){ return val*2; }) console.log( newArr )
2.过滤
按照条件过滤数组中的数据 将符合条件的数据 返回 组成一个新的数组
数组.filter( function(参数1,参数2,参数3){ return 数值操作; })
例:var arr=[100,200,300,400,500];
var Newa = arr.filter(function(val){ return val>300; })
console.log(Newa);
3. 数组的判断
(1) 数组.some( function( 参数1,参数2,参数3 ){ return 数值操作; })
只要数组的数据有一个 符合条件 返回值 就是 true
如果数组的所有数据都不符合条件 返回值 是 false
例: var arr = [100,200,300,400,500];
var res1 = arr.some( function(val)
{ // 有一个数据符合条件返回值就是true return val > 200; })
(2) 数组.every( function( 参数1,参数2,参数3 ){ return 数值操作; })
例:var res2 = arr.every( function(val){ // 必须所有都符合条件 return val > 200; })
console.log( res2 )
数组的所有单元的数据 必须都符合条件 返回值才是 true
如果数组的所有单元 有一个数据不符合条件 返回就是 false
4.数组新增和删除单元
(1)首位新增 var 变量 = 数组.unshift(数据1,数据2,数据3...);
新增数据可以是一个可以是多个,多个数据使用逗号间隔
函数的执行结果是 新增单元之后 数组的长度 是 length的长度
(2)末位新增 var 变量 = 数组.push(数据1,数据2,数据3...);
函数的执行结果是 length属性值
实际项目中,数组新增单元 使用 数组.push() 来新增单元
(3)首位删除 var 变量 = 数组.shift();
删除数据一次只能删除一个单元的数据
函数的执行结果是 删除单元存储的数据数值
例: var arr = [100,200,300,400,500];
var res3 = arr.shift(); console.log(res3);
运行结果是100
(4)末位删除 var 变量 = 数组.pop(); 例:var res4 = arr.pop(); console.log(res4);
5.数组的查询
var 变量 = 数组.indexOf('查询的数值');
在数组中查询是否有 当前 数值
如果有 返回值是 存储这个数据的单元的索引下标 如果没有 返回值是 -1
如果多个单元存储相同的数值, 返回值是 第一个存储这个数值的单元的索引下标
var 变量 = 数组.lastIndexOf('查询的数值');
返回值是 最后有一个存储数据单元的索引下标 如果没有匹配的数据返回值是 -1
6. 数组和字符的转化
(1)数组 -- 字符串
var 变量 = 数组.join('间隔符号')
将数组单元存储的数值 获取 组成字符串,默认以逗号为间隔符号 可以在()中设定间隔符号 不想要间隔符号
例:var arr = [100,200,300,400,500];
var res1 = arr.join(); \\
var res2 = arr.join('-'); \\
var res3 = arr.join('');
console.log( res2 );
(2)字符串 --- 数组
var 变量 = 字符串.split('间隔符号')
将字符串按照间隔符号转化为数组
没有参数字符串转化为一个整体
参数设定为 空字符串 字符串的每一个字符都转化为数组的单元
例:var str = 'abcdefghijklmn';
var res4 = str.split();
console.log( res4 );
七、数组单元的删除
var 变量 = 数组.splice(参数1,参数2, 参数3);
参数1: 删除数组起始单元的索引下标
参数2: 删除数组单元的个数
参数3: 删除单元 替换写入的内容
所有删除单元 作为一个整体
替换写入内容 一次替换的写入的内容可以是一个可以是多个
多个替换内容,使用逗号间隔 执行结果 返回值 是 删除内容组成的数组
八、数组单元的截取
var 变量 = 数组.slice(参数1,参数2);
参数1: 截取的起始单元的索引下标
参数2: 截取的结束单元的索引下标
不写参数2 截取至数组最后第一个单元 返回值结果 包括 起始单元 不包括 结束单元 不改变原始数组
九、数组的拼接
var 变量 = 数组.concat(数组1,数组2....)
将数组1 数组2 的数据 都和数组的数据拼接 生成一个新的数组 不会改变数值,
数组1,数值2...数据的数据
十、数组的反转
数组.reverse()