return {
a: [{
num: 1,
value: "如果"
},
{
num: 2,
value: "真的"
},
{
num: 3,
value: "要比"
},
{
num: 4,
value: "说唱"
},
{
num: 5,
value: "真的"
},
{
num: 6,
value: "强你"
},
{
num: 7,
value: "好几倍"
},
],
};
js循环
warnning:
1.在forEach和map中,不能使用 continue 和 break ,可以使用 return 或 return false 跳出循环,
效果与 for 中 continue 一样;
2. map()返回一个新数组,并且不会改变原数组的值.map()这类是转换型函数,需要关心返回值。
forEach()没有返回值,也不改变原数组;
3.在forEach和map中,不能使用 continue 和 break ,可以使用 return 或 return false 跳出循环,效果与 for 中 continue 一样。
但是即使使用return跳出循环,也不能一次结束所有循环。类似于continue。
1.for
xunhuan() {
let c='';
// 1.for
for(let i=0;i<this.a.length;i++){
c+=this.a[i].value;
}
console.log(c,"111111111111111")
2. forEach
currentValue:当前元素的值(必须)
index:当前元素的下标(可选)
arry:当前元素所属的数组(可选)
this.a.forEach(function(currentValue,index,arry) {
console.log(currentValue,index,arry,"0000")
});
3. map
currentValue:当前元素的值(必须)
index:当前元素的下标(可选)
arry:当前元素所属的数组(可选)
this.a.map(function(currentValue,index,arry){
console.log(currentValue,index,arry,"111111")
})
// 也是可以写三个参数,和上面的一样只是换成了箭头函数的方式
this.a.map(item=>{
console.log(item,item.value,"22222222")
})
this.a.map((item,i)=>{
console.log(item,i,item.value,"22222222")
})
4. for..in
item就是当前元素的下标
warnning: 返回的是string类型
for(item in this.a){
if(this.a[item].value=="真的"){
console.log(item+1,"333333",typeof(item));
// 11 333333 string
// 41 333333 string
}
console.log(this.a[item],"3333333")
}
5. for..of
item就是当前元素的值
for(item of this.a){
if(item.value=="真的"){
console.log(item.num,"44444444")
}
console.log(item,"44444444")
}
6. jquery:$.each()
key就是当前元素的下标
value就是当前元素的值
$.each(this.a,(key,value)=>{
console.log(key,value,"555555555")
})
},
注意:
warnningText(){
/*
map()返回一个新数组,并且不会改变原数组的值.map()这类是转换型函数,需要关心返回值。
forEach()没有返回值,也不改变原数组
*/
let b=[2,3,4,5,6];
let c=b.forEach(item=>{
return item+1;
})
console.log(c,"888888")
let d=b.map(item=>{
return item+1;
})
console.log(d,"9999999")
/*
undefined "888888"
(5) [3, 4, 5, 6, 7] "9999999"
*/
},
warnningText(){
let b=[2,3,4,5,6];
/* .for..of可用break/return来中断循环,并且可中断所有循环*/
for(item of b){
if(item==5){
return ;
}
console.log(item,"AAAAAAAAAAA")
}
for(item of b){
if(item==5){
break;
}
console.log(item,"BBBBBBB")
}
/*
2 "AAAAAAAAAAA"
3 "AAAAAAAAAAA"
4 "AAAAAAAAAAA"
2 "BBBBBBB"
3 "BBBBBBB"
4 "BBBBBBB"
*/
},
warnningText1(){
let b=[2,3,4,5,6];
/*
在forEach和map中,不能使用 continue 和 break ,可以使用 return 或 return false 跳出循环,效果与 for 中 continue 一样。
但是即使使用return跳出循环,也不能一次结束所有循环。类似于continue。
*/
b.forEach(item=>{
if(item==5){
break;
}
console.log(item,"CCCCCCCCCC")
})
// SyntaxError: Illegal break statement
b.forEach(item=>{
if(item==5){
return;
}
console.log(item,"DDDDDDDD")
})
},