var arr = [1, 2, 3];可以通过索引值来访问数组中的元素,例如:
console.log(arr[0]); //输出1还可以使用push()方法向数组末尾添加元素,使用pop()方法删除数组末尾的元素,使用shift()方法删除数组头部的元素,使用unshift()方法向数组头部添加元素。
function bubbleSort(arr) {其中,外层循环控制比较轮数,内层循环控制每轮比较的次数,如果前一个元素比后一个元素大,则交换两个元素的位置。
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 temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
return arr;
}
function selectionSort(arr) {其中,外层循环控制比较轮数,内层循环控制每轮的比较次数,选择最小值并与当前位置的元素进行交换。
for (var i = 0; i < arr.length - 1; i++) {
var minIndex = i;
for (var j = i + 1; j < arr.length; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
var temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
return arr;
}
function insertionSort(arr) {其中,外层循环控制比较轮数,内层循环控制每轮比较的次数,通过将当前元素与前面有序元素进行比较,找到合适的位置,并插入元素。
for (var i = 1; i < arr.length; i++) {
var preIndex = i - 1;
var current = arr[i];
while (preIndex >= 0 && arr[preIndex] > current) {
arr[preIndex + 1] = arr[preIndex];
preIndex--;
}
arr[preIndex + 1] = current;
}
return arr;
}
function quickSort(arr, left, right) {其中,快速排序通过递归实现,先通过partition()函数找到基准点,然后将数组分成两部分,再对两部分分别进行排序。
if (left < right) {
var pivotIndex = partition(arr, left, right);
quickSort(arr, left, pivotIndex - 1);
quickSort(arr, pivotIndex + 1, right);
}
return arr;
}
function partition(arr, left, right) {
var pivot = arr[left];
var i = left + 1;
var j = right;
while (i <= j) {
while (i <= j && arr[i] < pivot) i++;
while (i <= j && arr[j] > pivot) j--;
if (i < j) {
var temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
var temp = arr[left];
arr[left] = arr[j];
arr[j] = temp;
return j;
}
arr.forEach(function(item, index, array) {其中,item表示当前元素,index表示当前元素的索引值,array表示当前数组。
console.log(item, index);
});
var newArr = arr.map(function(item) {其中,item表示当前元素,返回一个新的数组。
return item * 2;
});
console.log(newArr);
var newArr = arr.filter(function(item) {其中,item表示当前元素,返回一个新的数组。
return item > 2;
});
console.log(newArr);
var sum = arr.reduce(function(prev, cur, index, arr) {其中,prev表示上一个元素的结果,cur表示当前元素,index表示当前元素的索引值,arr表示当前数组。
return prev + cur;
});
console.log(sum);
本文为翻滚的胖子原创文章,转载无需和我联系,但请注明来自猿教程iskeys.com