菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育
标题:
王涛-20221115-DOM&BOM07
[打印本页]
作者:
黑桃K
时间:
2022-11-15 23:56
标题:
王涛-20221115-DOM&BOM07
DOM&BOM-DAY07
1.数组方法
1.1
includes
---包含
arr.includes();
检测数组是否包含参数
返回:ture/false
1.2
reverse
---反转
arr.reverse();
数组元素反转排列
返回:元素反转排列后的数组
1.3
map
---遍历
arr.map(function(item,indes,a){});
item:元素
indes:索引
a:原数组
map遍历
1.4
find
---查找符合元素
arr.find(function(item){
return item > 50;
});
查找函数有没有符合的元素
返回:符合要求的第一个元素,如果没有符合要求的元素返回undefined
1.5
findIndex
---查找符合元素的索引
arr.findIndex(function (item) {
return item > 50;
})
查找函数有没有符合的元素
符合要求的第一个元素的索引,没有符合要求的,返回-1;
1.6
indexOf
---查找元素的索引
arr.indexOf(a,b);
查找数组有没有符合的元素
第一个参数a:
查找数组中是否包含某个元素
能找到---返回第一个找到的索引
找不到---返回-1
第二个参数b:
可选参数,从b索引开始,包含当前所选b索引
1.7
flat
---多维数组展开
arr.flat();
多维数组的展开
返回:展开的一维数组
方法默认值为1
多维数组无法确定直接传flat(Infinity);
1.8
every
---元素是否全符合
arr.every(function (item) {
return item >= 5;
});
判断所有元素是否都符合要求(与)
返回:true/false
1.9
some
---元素一项符合
arr.some(function (v) {
return v >= 5;
});
判断所有元素其中一个是否符合要求(或)
返回:true/false
1.10
filter
---判断过滤器
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