javascript

跳出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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值