1、冒泡排序: 将数组当中的值从小到大排列或则从大到小排列,时将前后两个值
从下到大:前后两个值进行比较,若前一个大于后一个将两个值位置交换,直到将最大的值交换到最后
* var origin = [10, 20, 30, 40, 50]
var n = 11
var m = 0
function fun(origin){ //原数组origin=[10,20,30,40,50]
origin.push(n) //给原数组添加一个新数组值
// console.log(origin)
for(var i = 0
for(var k = 0
if(arr[i]>arr[i+1]){
m = arr[i]
arr[i] = arr[i+1]
arr[i+1] = m
}
}
}
}
console.log(arr)
*
2、选择排序法
假设当前为最小数值下标,找到真实最小数值进行交换
* var arr = [9,6,7,3,1,5,4,2,8,10]
for (var k = 0
var mindex = k //假设最小值的下标为k
for (var i = k+1
if(arr[mindex] > arr[i]){ //假如假设下标对应的值比与其比较的数大
mindex = i //符合条件将i的值赋给mindex
}
}
//一轮比较结束后找到最小值交换两个位置的值
var m = arr[k]
arr[k] = arr[mindex]
arr[mindex] = m
}
console.log(arr,'选择排序后的arr')
*
3、数组的方法:
1、会改变数组的值
*
1、push
语法:数组.push(数据)
作用:从数组的尾部添加新数据
返回值:返回的是添加新数据后数据长度length。
*
*
2、pop
语法:数组.pop(数据)
作用:从数据的尾部删除数据
返回值:返回的是删除数据的值
*
*
3、unshift
语法:数组.unshift(数据/数组)
作用:从数组的头部添加新数据
返回值:返回的是添加新数据后数组长度length
*
*
4、shift
语法:数组.shift(数据/数组)
作用:从数组的头部删除数据
返回值:返回的是删除的数据的值
*
添加数组是将数组内的值添加进去。
*
5、reverse
语法:数组.reverse() 没有参数
作用:将数组内的数据进行反转
返回值:返回的是反转后的数组
*
*
6、sort
语法: 数组.sort() 没有参数 默认将数组内的数据第一位数从小到大排列
数组.sort()有参数时,参数只能为函数 function (a , b) {return a-b}(将数组数据从小到大排列)
function (a,b) {return b-a}(将数组数据从大到小排列)
作用:将数组内部数据按顺序排列(小到大或者大到小)
返回值:返回的是排列后的数组
*
*7、splice
语法: 数组.splice(参数1,参数2)
参数1:开始剪切值的索引
参数2:要剪切的值的个数
数组.splice(参数1,参数2,数据1,数据2,数据3,....)
作用: 在数组当中剪切某一段数据
在数组中剪切一段数据并添加新数据进去
返回值:返回的是剪切走的数组
*
2、不改变数组的数据
*
8、slice
语法:数组.slice(参数1,参数2)
参数1:开始复制的索引
参数2:结束复制的索引
1、包前不包后,复制的最后一个数据(结束索引的前一位)
2、参数接受负数(相当于 数组.length+负数)
3、不传结束索引的时候,相当于 数组.length
4、不写参数或(0)相当于复制整个数组
作用:复制某一段数组
返回值:开始索引到结束索引的前一位数组
9、concat
语法:数组.concat()
作用:将数据合并到数组内,从尾部合并 假如是数组是将数组内的值合并进去
返回值:返回的是合并后的数组
10、join
语法:数组.join() 不传参数默认为逗号(,)
作用:将数据添加符号进行连接
返回值:返回的是连接后的数据
11、indexOf
语法:数组.index(数据) 从头开始寻找 数组.indexOf(数据,开始索引)
作用:在数组内从左往右寻找指定数据
返回值:返回的是 1、如果查询到,返回的是数据出现的第一个下标
2、如果查询不到,返回的是 -1
12、lastindexOf
语法:数组.lastIndexOf(数据) 从尾部开始寻找 数组.lastIndexOf(数据,开始索引) 从后往前
作用:在数组中从后往前寻找数据
返回值:返回的是 1、如果查询到,返回的是数据出现的第一个下标
2、如果查询不到,返回的是 -1
*
遍历数组的方法:
*
1、forEach
语法:数组.forEach(function(item,index,origin){})
参数item:数组实际每一项的值
参数index:数组对应的每一个值的下标
参数origin:原数组
作用:遍历数组
返回值:undefind
2、map:
语法:数组.map(function(item,index,origin) {})
作用:映射数组
返回值:和原数组一样的值的数组(取决于return item*10)
3、filter
语法:数组.filter(function(item,index,origin) {})
作用:过滤数组
返回值:过滤的数组,返回值取决于 return 例:item>3满足返回,不满足不返回
4、find
语法:数组.find(function(item,index,origin) {})
作用:查找数据
返回值:在数组内找到的数据(第一个数据)(不是数组)
5、findIndex
语法:findIndex(function(item,index,origin) {})
作用:查找数据第一个出现的下标
返回值:返回找到的第一个数据出现的下标
6、every (对数组的判断)
语法:数组.every(function(item,index,origth) {})
参数:
1、item数组第一项实际的值
2、index数组第一项实际值对应的下标
3、origin原数组
作用:对所有数据进行判断
返回值:1、返回true:全部满足条件
2、返回false:至少有一个不满足
7、some
语法:数组.some(function(item,index,origin) {})
作用:判断每一项实际值是否有一项满足条件
返回值: 1、true:至少有一个满足条件
2、false:全部不满足条件
8、reduce
语法:数组.reduce(function(prve,item,index,origin),'init')
参数:
prve:接受上一次执行的值(初始值或第一项)取决于是否传递init
init:设置初始值
如果传递第二个参数init,执行次数和数组长度相同(设置了初始值)
如果只传递一个参数,执行次数 默认第一值为数据第一项,长度比数组长度少一(length-1)
作用:累加(叠加,类似于拼接)
返回值:累加后的结果