数据储存
- 栈: 主要存储基本数据类型的内容
- 堆: 主要存储复杂数据类型的内容
数组的常用方法
-push //在数组后追加元素
var arr = [1,2,3]
arr.push(4) //在arr数组后追加一个元素4
console.log(arr) //[1,2,3,4]
-pop //是用来删除数组末尾的一个元素
var arr = [1,2,3]
arr.pop(3) //删除最后一个元素
console.log(arr) //[1,2]
-unshift //是在数组的最前面添加一个元素
var arr = [1,2,3]
arr.unshift(4) //在第一个元素前添加元素
console.log(arr) //[4,1,2,3]
-shift //是删除数组最前面的一个元素
var arr = [1,2,3]
arr.shift() // 删除最前面的元素
console.log(arr) //[2,3]
-splice //是截取数组中的某些内容,按照数组的索引来截取
var arr = [1,2,3]
arr.splice(1,2) //从索引1开始截取2个内容
console.log(arr) //[2,3]
-reverse //是用来反转数组使用的
var arr = [1,2,3]
arr.reverse() //
console.log(arr) //[3,2,1]
-sort //是用来给数组排序的
var arrSort = [88,77,99,100]
arrSort.sort(function(a,b){
return a-b
})
console.log(arrSort)
-concat //是把多个数组进行拼接
var arr = [1,2,3,4]
var newArr = arr.concat([5,6])
console.log(newArr) //[1,2,3,4,5,6]
-join //是把数组里面的每一项内容链接起来,变成一个字符串
var arr = [1,2,3,4]
var str = arr.join('-')
console.log(str) // 1-2-3-4 不是返回数组,而是字符串
-indexOf //用于找到数组中的某一项的下标
var arr = [1,2,3]
var index = arr.indexOf(3) //
console.log(index) // 2 ; arr数组元素3的下标为2
-includes //查找数组中是否包含某内容,返回值为布尔值
ES5常用数组遍历方法
-forEach
-和 for 循环一个作用,就是用来遍历数组的
- 语法:arr.forEach(function (item, index, arr) {})
-map
-和 forEach 类似,只不过可以对数组中的每一项进行操作,返回一个新的数组
-filter
-和 map 的使用方式类似,按照我们的条件来筛选数
-把原始数组中满足条件的筛选出来,组成一个新的数组返回
-find
-every
-数组中是否每个元素都满足指定的条件, 全部满足返回true
-some
-数组中是否有元素满足指定的条件,只要有一个满足返回true
-reduce
-reduce() 方法接收一个方法作为累加器,数组中的每个值(从左至右) 开始合并,最终为一个值
数组的排序
冒泡排序
-基本思想:
1)比较相邻的元素。如果第一个比第二个大,就交换他们两个。
2)对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完 后,最后的元素会是最大的数。
3)针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元 素重复上面的步骤,直到没有任何一对数字需要比较。