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);
对象遍历 |
|