1.forEach方法
var arr = [2,3,4,5];
// forEach
/*
1.对数组执行遍历
*/
arr.forEach((item,index)=>{
console.log(item+"--"+index)
item+=2;
})
返回 2--0
3--1
4--2
5--3
第一个参数是当前的元素,第二个参数是该元素的下标
2.for of方法
var arr=[1,2,3];
for (var i of arr){
console.log(i);
}
返回 1
2
3
3.map方法
map 可以改变数组每一个项,得到一个新的值
var arr=[1,2,3];
var res=arr.map(item=>{
return item*2
})
console.log(arr);//[1,2,3]
console.log(res);//[2,4,6]
例子
var arr=[
{name:"html",value:"12px"},
{name:"css",value:"13px"},
{name:"vue",value:"11px"},
]
var res =arr.map(item=>{
var value= parseInt (item["value"])*2;
return item["value"]=value;
})
console.log(res);//[24 ,26,22]
数组的每一项是基础(简单)类型,执行map不会改变数组原来的结构
数组的每一项是复杂类型{object},那么执行map方法会改变原来的数据结构
var obj = [{name:"li",age:10},{age:"name",age:11}];
var result = obj.map(item=>{
return item.age = 0;
})
console.log(result);
console.log(obj)
4.some、every方法
- some 返回boolean 只要数组中一项满足条件,就输出true
every 返回boolean 只有数组中每一项满足某个条件,就输出true
var arr = [1,2,3,4];
var res = arr.some(item=>{
return item>2;
})
var b = arr.every(item=>item>2);
console.log(res);//true
console.log(b);//false
5.filter 方法
对数组元素的进行一个条件筛选
var arr=[1,2,3,4]
var res=arr.filter(item=>item>2);
console.log(res);
输出[3,4]
例子:返回带武字的数组
<script>
var arr=[{city:"武汉",state:true,spell:"wuhan"},
{city:"北京",state:false,spell:"beijing"},
{city:"武昌",state:true,spell:"wuchang"}]
console.log(arr);
var keyword="武";
var res=arr.filter(item=>{
// return item.city.includes(keyword)
if(item.city.includes(keyword)){
return item;
}
})
console.log(res);
</script>
<script>
/* 返回数组
String match
*/
var arr = [{city:"武汉",state:true,spell:"wuhan"},
{city:"北京",state:false,spell:"beijing"},
{city:"武昌",state:false,spell:"wuchang"}]
/* city中含有武的组成一个数组 */
var keyword = "武汉";
var res = arr.filter(item=>{
// return item.city.includes(keyword);
if(item.city.includes(keyword) || item.spell.includes(keyword) ){
return item;
}
})
console.log(res)
</script>
6. findIndex
对数组执行遍历,查询对应值得下标
var arr=[1,2,3];
var index=arr.findIndex(item=>{
return item==2;//查询元素2的下标值
})
console.log(index);//1
7.for in遍历对象
<script>
/* for in 遍历对象 */
var obj = {
1001:false,
1002:false,
1003:false
}
/* . 只能读取具体的属性值
[] 读取变量要通过中括号的方式读取
*/
/* 将1003的值改为true */
for(var key in obj){
if(key ==1003){
obj[key] = true
}
}
console.log(obj)
</script>