JavaScript数组的方法(迭代)
var arr1 = [1, 2, 3, 10, 20, 30, 50, 80, 99];
var arr2 = [4, 5, 6];
var arr3 = ["A", "B", "C", "D", "E", "F", "G"];
every(函数)
检测数值元素的每个元素是否都符合条件。
console.log(arr1.every(function (item) {
// item 数组元素
// console.log(item>0);
return item > 0
}))`
// some(函数)
检测数组元素中是否有元素符合指定条件。
console.log(arr1.some(function (item) {
// item 数组元素
// console.log(item>0);
return item > 10
}))
filter(函数)
检测数值元素,并返回符合条件所有元素的数组。
console.log(arr1.filter(function (item) {
// item 数组元素
return item > 10 && item < 90
}))
forEach(函数)
数组每个元素都执行一次回调函数
var arr7 = [];
arr1.forEach(function (val, index, arr) {
// console.log(val,index,arr)
// console.log(val+10)
arr7.push(val + 10)
})
console.log(arr7)
map()
通过指定函数处理数组的每个元素,并返回处理后的数组。
console.log(arr1.map(function (item) {
return item + 10
}))
reduce(函数)
将数组元素计算为一个值(从左到右)。
console.log(arr1.reduce(function (sum, val) {
sum += val;
return sum / 9;
}))
reduceRight(函数)
将数组元素计算为一个值(从右到左)。
console.log(arr3.reduceRight(function (sum, val) {
sum += val
return sum
}))
排序
sort()
对数组元素进行排序
var arr = [4, 5, 6, 1, 50, 80, 99, 2, 3, 'x', 10, 20, 30, "E", "F", "G", "a", "b"];
var arr2 = [4, 5, 6];
var arr3 = ["A", "B", "C", "D", "E", "F", "G"];
var arr5 = ["你好", 'a', 'b', 'c', 6, 5, 4]
// sort() 对数组元素进行排序
console.log(arr2.sort());
console.log(arr3.sort());
console.log(arr5.sort());
var arr6 = [4, 5, 6, 40, 50, 60];
function up(a,b){
return a-b
}
function down(a,b){
return b-a
}
console.log(arr6.sort(up))//升序
console.log(arr6.sort(down))//降序
冒泡排序
for (var i = 0; i < arr.length - 1; i++) {
// 循环比较的次数
for (var j = 0; j < arr.length - i - 1; j++)
{
if (arr[j] > arr[j + 1]) {
var k;
k = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = k;
}
}
console.log(arr);
}
选择排序
for (var i = 0; i < arr.length - 1; i++) {
var max = i;
// max=0;
for (var j = i + 1; j < arr.length; j++) {
if (arr[j] > arr[max]) {
}
}
var k = arr[i];
arr[i] = arr[max];
arr[max] = k;
console.log(arr);
}
// console.log(arr);