跳出for循环
跳过当前循环
//continue直接退出本次循环 不执行下面的内容 进行下一次循环
for (var i = 0; i < 3; i++){
if(i == 2) continue;
console.log(i);
}
//0
//2
跳出当前循环
//break跳出整个for循环
for (var i = 0; i < 5; i++){
if(i == 3) break;
console.log(i);
}
//0
//1
//2
跳出多层for循环
//1.使用label语句
jump:
for (var i = 0; i < 3; i++){
for (var j = 0; j < 3; j++){
if (i === 1 && j === 1) {
break jump;
}
console.log( i , j);
}
}
jump: {
console.log(1);
break jump;
console.log('不会输出');
}
console.log(2);
//2.使用function
function jumpFor() {
for(var k=0;k<8;k++){
for(var j=0;j<4;j++){
if(k == j ){return false;}
console.log(k,j)
}
}
}
jumpFor()
获取字符串指定位置字符
字符串函数直接截取
//若str为空时会报错
str.slice(0,4)
正则具名匹配
// 正则表达式 exec:提取匹配结果
let time = "2020-05-12 03:12:31"
const qwe = /(\d{4})-(\d{2})-(\d{2})/
console.log(qwe.exec(time));
//输出
0: "2010-05-20"
1: "2010"
2: "05"
3: "20"
groups: undefined
index: 0
input: "2010-05-20 00:12:35"
数组添加或修改
需求:将A数组打包存入另一个B数组,可以继续向B数组中存储更多的数组,B数组中以【0.1.2…】的后缀包含其他数组。
arrA = {
id:1,
sum:2
}
click() {
let i = this.arrB.length
this.arrB[i] = this.arrA
}
//结果 若还有数组C就会继续在后面添加
arrB = {
0:{id:1, sum:2}
}
(vue)this.$set向数组中添加一个参数和它的值
1.在arrA对象中添加一个叫shit的属性,它的值是OHHHH
2.当视图没有更新时也可以使用
this.$set(arrA,'shit',OHHHHH)
将两个数组合并
arrA = {
0:{id:1}
}
arrB = {
0:{id:2}
}
let arrC = [...arrA, ...arrB]
//结果
arrC = {
0:{id:1}
1:{id:2}
}
indexOf()
indexOf()方法可返回某个指定的字符串值在字符串中首次出现的位置
str = 'qweasdzxc'
console.log(str.indexOf('xc'))
//输出 7
arr = [1,2,3,1,2]
console.log(arr.indexOf(2))
typeof
1.typeof 获取元素类型,返回一个字符串
let arr = []
console.log(typeof arr)
push()方法
1.push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
push()对象必须是可以获取到的数组
arrA.push("shit")
arrB.push({id: '123'})
join()
1.join()将数组用,隔开返回一个字符串
arrA.join(',')
split()
1.split()将用,隔开的字符串分离,返回一个数组
arrA.split(',')
map()
1.arrA必须是数组类型
2.map不能通过return跳出
const arr = arrA.map((item, index) => {
console.log(item, index)
return item.id
})
const id = arr.join(',')
forEach
1.arrA必须是数组类型
2.forEach不能通过return跳出
const arr = arrA.forEach((item, index) => {
console.log(item, index)
return item.id
})
const id = arr.join(',')
filter
1.filter的数据类型为数组
2.可用于遍历特定规律的数组,或数组去重
array.filter(function(currentValue,index,arr), thisValue)
function filter(arr) {
return arr.filter((item,index,arr) => {
// indexOf获取value在数组中出现的首个位置
return arr.indexOf(item,0) === index
})
}
console.log(filter([1,2,3,4,5,1,2,3]));
给元素所有的子元素修改样式
Array.from(document.getElementById("div1").children).forEach(function(item){
item.style.background = "#ff0000";
})
Object.assgin()
1.Object.assgin()复制一个数组,可以在视图没有更新的时候使用
2.复制出来的数组没有length值
arr = [1,2,3,4,5,6,7]
arr = Object.assgin({}, arr)
…的用法
//展开一个数组
console.log(...arr1);
//连接数组
let arr3 = [...arr1,...arr2]
//在函数中使用
function sum(...numbers) {
return numbers.reducr((preValue, currentValue) =>
return preValue + currentValue
})
}
sum(1,2,3,4)
//构造字面量对象时使用展开语法
let person = {name: "tom",age: 19}
let person2 = {...person}
//合并
let person3 = {...person,name: "tom",age:19}
includes()
检测数组是否包含某个key
let site = ['runoob', 'google', 'taobao'];
site.includes('runoob');
// true
site.includes('baidu');
// false