DOM&BOM-DAY071.数组方法1.1includes---包含arr.includes(); 检测数组是否包含参数 返回:ture/false1.2reverse---反转arr.reverse(); 数组元素反转排列 返回:元素反转排列后的数组1.3map---遍历arr.map(function(item,indes,a){}); item:元素 indes:索引 a:原数组 map遍历1.4find---查找符合元素arr.find(function(item){ return item > 50; }); 查找函数有没有符合的元素 返回:符合要求的第一个元素,如果没有符合要求的元素返回undefined1.5findIndex---查找符合元素的索引arr.findIndex(function (item) { return item > 50; }) 查找函数有没有符合的元素 符合要求的第一个元素的索引,没有符合要求的,返回-1;1.6indexOf---查找元素的索引arr.indexOf(a,b); 查找数组有没有符合的元素 第一个参数a: 查找数组中是否包含某个元素 能找到---返回第一个找到的索引 找不到---返回-1 第二个参数b: 可选参数,从b索引开始,包含当前所选b索引1.7flat---多维数组展开arr.flat(); 多维数组的展开 返回:展开的一维数组 方法默认值为1 多维数组无法确定直接传flat(Infinity);1.8every---元素是否全符合arr.every(function (item) { return item >= 5; }); 判断所有元素是否都符合要求(与) 返回:true/false1.9some---元素一项符合arr.some(function (v) { return v >= 5; }); 判断所有元素其中一个是否符合要求(或) 返回:true/false1.10filter---判断过滤器arr.filter(function (v) { return v >= 50; }); 判断过滤器 返回一个新数组,所有符合要求的元素放入新的数组,没有符合返回空数组[];2.回文 判断一段字符串是否是回文 <script>let str = '上海自来水来自海上'; //判断一段字符串是否是回文 /* //字符串转成数组 let arr = [...str]; //数组使用reverse() let rst = arr.reverse(); //数组转为字符串 let rstStr = rst.join(''); //判断是否是回文 console.log(str === rstStr); */ //封装精简 function isHw(str) { /* let arr = [...str]; let rst = arr.reverse(); let rstStr = rst.join(''); return str === rstStr; */ return str === [...str].reverse().join(''); } console.log(isHw(str)); </script>3.展开运算符3.1展开字符串let str = 'zcnjzkjckxzjkc'; //展开字符串,空格隔开 console.log(...str); //把字符串展开转换成数组 console.log([...str]);3.2展开数组 //展开字符串 let arr = [1, 2, 3, 4, 5, 6]; let arr2 = [1, 2, 3, 4, 5, 6]; let arr3 = [1, 2, 3, 4, 5, 6]; console.log(...arr); //浅拷贝 let arr1 = [...arr]; //合并 console.log([...arr, ...arr2, ...arr3]);3.3展开对象{ ...obj1 }; //浅拷贝 let obj22 = { ...obj2 }; //合并对象 //对象的key值是唯一的,所有合并,如有重复,后面的会覆盖前面的值 { ...obj1, ...obj2, ...obj3 }; //合并对象 //Object.assign(); //参数:1,空数组 //2.需要被合并的对象 //3/4/5需要被合并的对象 //key是唯一的,所以会被层叠替换 let rst = Object({}, obj1, obj2...);3.4伪数组arguments 传进来的不是一个数组 fn(1, 2, 3, 4, 5, 6); function fn() { // 伪数组:所有实参的集合 console.log(arguments); //展开成字符串 console.log(...arguments); //展开成数组 console.log([...arguments]); }3.5剩余参数fn(1, 2, 3, 4, 5, 6, 7, 8); function fn(a, b, ...rest){}; a==1;b==2;rest==[3,4,5,6,7,8]; function fn(...rest){}; rest==[1, 2, 3, 4, 5, 6, 7, 8]; ...rest 如有未定义的形参,传入的实参成一个数组4.对象的方法 let user = { name: '王文博', age: 18, sex: '男', addr: '西安', money: 999999999999999, girlName: '小紫' } //keys得到所有对象键名的数组 let keys = Object.keys(user); //values得到所有对象键值的数组 let values = Object.values(user); 对象遍历 |
欢迎光临 菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育 (http://www.xingmaxueyuan.com/) | Powered by Discuz! X3.4 |