前端学习笔记js篇(3)

1.数组方法

1.join

join将数组以传入的参数进行分割,但不改变原数组

var arr = [1, 2, 3, 4, 5]
console.log(arr.join('-'))
console.log(arr)

2.push和pop

push将参数添加到数组的末尾,其返回值为push后的数组长度;而pop会删除数组的最后一项,其返回值为删除的元素

var arr = [1, 2, 3, 4, 5]
console.log(arr.push(7))
console.log(arr)
console.log(arr.pop())

3.shift和unshift

unshift将参数添加到数组的开头,其返回值为unshift后的数组长度;而shift会删除数组的第一项,其返回值为删除的元素

var arr = [1, 2, 3, 4, 5]
console.log(arr.unshift(7))
console.log(arr)
console.log(arr.shift())

4.sort

sort会将数组元素转化为字符串进行升序排序,因此会造成数字排序并非是真的升序,可以用以下方法解决

var arr = [4, 5, 6, 3, 1,]
arr.sort(function (a, b) {
	return a-b
})
console.log(arr)

若要降序,则return b-a即可

5.reverse

reverse用于将数组反序,并且会改变原数组

var arr = [4, 5, 6, 3, 1,]
console.log(arr.reverse())
console.log(arr)

6.concat

concat用于连接两个数组,并返回新数组,不会改变原数组;当连接的数组为二维数组时,仅会将其作为元素进行连接

var arr = [1, 2, 3]
// var arr2 = [4, 5]
var arr2 = [4, [5, 6]]
console.log(arr.concat(arr2))
console.log(arr)

7.slice

slice用于获取指定位置开始的指定个数的元素

var arr = [1, 2, 3, 4, 5]
console.log(arr.slice(0,3))

slice可用于数组深拷贝

var arr = [1, 2, 3, 4, 5]
var arr2 = arr.slice(0)
arr2[4] = 6
console.log(arr)
console.log(arr2)

8.splice

splice用于从指定位置开始删除,插入,替换元素,并改变原数组

var arr = [1, 2, 3, 4, 5]
//删除
console.log(arr.splice(0, 2))
console.log(arr)
//插入
console.log(arr.splice(0,0,1,2))
console.log(arr)
//替换
console.log(arr.splice(0,2,10,20))
console.log(arr)

9.indexOf和lastIndexof

indexOf用于从头开始查找获取指定元素的索引,不存在则返回-1;lastIndexof则是从末尾开始查找

var arr = [1, 2, 3, 4, 5]
console.log(arr.indexOf(1))
console.log(arr.lastIndexOf(1))
console.log(arr.indexOf(6))

10.forEach

forEach用于循环遍历数组

var arr = [1, 2, 3, 4, 5]
arr.forEach(function (index, item) {
	console.log("index:"+index+",item:"+item)
})

11.map

map用于映射每个元素,返回映射后的数组,并且不改变原数组

var arr = [1, 2, 3, 4, 5]
var arr2 = arr.map(function (item) {
	return item * item
})
console.log(arr)
console.log(arr2)

12.filter

filter用于过滤元素,返回过滤后的数组,并且不改变原数组

var arr = [1, 2, 3, 4, 5]
var arr2 = arr.filter(function (item) {
	return item > 3
})
console.log(arr)
console.log(arr2)

13.every

every用于检查是否所有元素满足条件,存在一个元素不满足即返回false

var arr = [1, 2, 3, 4, 5]
var isLarge = arr.every(function(item) {
	return item > 1
})
console.log(isLarge)


14.some

some用于检查是否存在元素满足条件,存在一个元素满足即返回ture

var arr = [1, 2, 3, 4, 5]
var isLarge = arr.some(function (item) {
	return item > 4
})
console.log(isLarge)


2.对象继承

常见的继承方式参考点击打开链接

这里讲一下ES6新增的继承方式:extends

ES6新增的对象定义方式:class

class Animal {
	constructor() {
		this.name = name || 'animal'
	}
	sleep () {
		console.log(this.name + ' is sleeping')
	}
}
var animal = new Animal();
animal.sleep()

class Cat extends Animal {
	constructor(type) {
		super()
		this.type = type
		this.name = name || 'cat' 
	}
	shout () {
		console.log(this.name + ' is shouting')
	}
}
var cat = new Cat()
cat.name = 'Tom'
cat.shout()



猜你喜欢

转载自blog.csdn.net/m0_37782372/article/details/80982006