一.forEach方法
let arr=[4,5,6]
arr.forEach((value(第一个值是数组的取值,对应上面的4.5.6,index(第二个值是下标)))=>{})
说明2点:①直接修改上面的value值对原数组没有影响
②如果想要对对象和dom节点进行操作,需要使用jq封装的$.each方法
二.$.each方法
A.对数组的遍历
let arr=[4,5,6]
$.each(arr)(第一个值是需要遍历的数组),(index(第二个参数是数组下标),value(第三个值是对应的value值,这里对应4,5,6))=>{}
B.对对象的遍历
let obj={
'name':'yellow',
'age':'21'
};
$.each(obj(第一个参数对应遍历的对象),(key(第二个参数对应对象的key),value(第三个参数对应相应的取值))=>{
console.log(`${key}对应的值为:${value}`);
})
C.对dom节点的操作
$("#test").append(`<div class='test'>这是一个新的节点</div>`);
$("#test").append(`<div class='test'>这是一个新的第二个节点</div>`);
let arr=$('.test');
$.each(arr,(index,item)=>{
console.log(`第${index}的值为:`);
console.log($(item));
})
三.fill方法:
我主要用在填充一个数组上,以前初始化一个数组用for循环遍历,现在一个fill直接解决问题,当然,fill还有其他很多用途
let len=233;
let arr=new Array(len-1).fill(0);
四.filter,find,findIndex方法
let arr=[3,5,6];
①filter方法:筛选数组里面满足要求的项。
eg:let newArr=arr.filter((thisValue(数组值),index(数组下标))=>{ return thisValue>3;})
ps:filter方法不改变原数组值。除了筛选这样简单的arr数组,对于don节点等的操作也是可以的。
②find方法:找到数组/数组对象等里面满足要求的项。
eg:let arrObj=[{name:'yellow',age:'22'},{name:'morning',age:'33'}]
let newArr=arrObj.find((thisValue,index)=>{
return thisValue.name==='yellow';
})
console.log(newArr);
③findIndex方法:找到数组,数组对象中里面满足要求的项的下标。
eg:将上例中.find,改为findIndex即可,最终返回的是目标项的下标。