获取数组的最大值/最小值:
let arrary = [2,5,4]
let max = arrary[0]
for(let i = 0;i<arrary.length;i++){
if(arrary[i]>max){
max = arrary[i]
}
}console.log(max);
//查询数组最小值
let arr = [2,21,34,23,45]
let min = arr[0]
for(let i= 0;i<arr.length;i++){
if(arr[i]<min){
min = arr[i]
}
}console.log(min);
首先定义个数组,在这里选择了索引值为0的第一个值为max(这里我们是假定了一个),然后用For循环来遍历数组,在遍历的每个元素中只要元素i比我们假定的max大,就交换位置。一直遍历一直交换,直到选出最大的赋值给max.最小值同理。
数组元素的增加:
arr.push() 将一个或多个元素放置数组的尾部,注意:它还会返回数组的长度
arr.unshift() 方法用于向数组的开头添加一个或多个元素,并返回新的数组长度。与
push()
不同,unshift()
会改变数组中已存在元素的位置,将原有的所有元素向后移动,以在数组的最前面为新添加的元素腾出空间。
arr.push()方法:
let arr = [2,21,34,23,45]
arr.push(33,44);
console.log(arr)
arr.unshfit()方法:
let arr = [2,21,34,23,45]
arr.unshift(33,44);
console.log(arr)
(重要知识)数组筛选:
let arr = [2,21,34,23,45]
let arry = []
for(let i = 0;i<arr.length;i++){
if(arr[i]>=20){
arry.push(arr[i])
}
}console.log(arry)
删除的方法:
1.arr.pop()
2.arr.shift()
3.arr.splice()
在 JavaScript 中,
arr.pop()
,arr.shift()
, 和arr.splice()
都是数组(Array)对象的方法,它们各自有不同的用途和行为。以下是这三个方法之间的主要区别:1.
arr.pop()
pop()
方法用于删除并返回数组的最后一个元素。如果数组为空,则返回undefined
。示例:
javascript复制代码
let arr = [1, 2, 3, 4, 5];
let lastElement = arr.pop();
console.log(arr); // 输出: [1, 2, 3, 4]
console.log(lastElement); // 输出: 5
2.
arr.shift()
shift()
方法用于删除并返回数组的第一个元素。如果数组为空,则返回undefined
。示例:
javascript复制代码
let arr = [1, 2, 3, 4, 5];
let firstElement = arr.shift();
console.log(arr); // 输出: [2, 3, 4, 5]
console.log(firstElement); // 输出: 1
3.
arr.splice()
splice()
方法可以在任意的位置给数组添加/删除任意个元素。这个方法非常强大,因为它允许你在一个操作中同时进行添加和删除操作。基本语法:
javascript复制代码
array.splice(index, howmany, item1, ....., itemX)
index
(必需):整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。howmany
(必需):要删除的项目数量。如果设置为 0,则不会删除项目。item1, ..., itemX
(可选):向数组添加的新项目。示例:
删除元素:
javascript
let arr = [1, 2, 3, 4, 5];
arr.splice(1, 2); // 从索引1开始,删除2个元素
console.log(arr); // 输出: [1, 4, 5]
添加元素:
javascript
let arr = [1, 2, 3, 4, 5];
arr.splice(2, 0, 'a', 'b'); // 在索引2的位置添加元素 'a' 和 'b'
console.log(arr); // 输出: [1, 2, 'a', 'b', 3, 4, 5]
同时删除和添加元素:
javascript
let arr = [1, 2, 3, 4, 5];
arr.splice(1, 2, 'a', 'b'); // 从索引1开始,删除2个元素,然后添加 'a' 和 'b'
console.log(arr); // 输出: [1, 'a', 'b', 4, 5]
总结:
pop()
和shift()
分别用于删除数组的最后一个和第一个元素,并返回被删除的元素。splice()
则提供了更多的灵活性,允许你在数组的任意位置添加或删除任意数量的元素。这三个方法都会改变原数组的内容。根据你的需求,你可以选择使用
pop()
,shift()
, 还是splice()
来操作数组。
冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
以下是一个用 JavaScript 实现的冒泡排序的案例:
function bubbleSort(arr) {
let len = arr.length;
for (let i = 0; i < len - 1; i++) {
for (let j = 0; j < len - 1 - i; j++) {
if (arr[j] > arr[j + 1]) { // 相邻元素两两对比
let temp = arr[j + 1]; // 元素交换
arr[j + 1] = arr[j];
arr[j] = temp;
}
}
}
return arr;
}
// 测试冒泡排序函数
let arr = [3, 2, 4, 1, 5];
console.log('排序前:', arr);
bubbleSort(arr);
console.log('排序后:', arr);
在这个例子中,bubbleSort
函数接受一个数组 arr
作为参数,然后通过两层循环进行排序。外层循环控制所有的遍历,内层循环负责每一轮的冒泡排序,即将相邻的元素进行比较并交换(如果需要)。
注意,这个冒泡排序的实现没有进行任何优化,每次都会遍历整个数组,即使最后几个元素已经排好序了。在实际应用中,你可能会想要实现一些优化策略,比如当某一轮遍历中没有进行任何交换时,就可以认为数组已经排好序了,可以提前结束排序。
在这里的len-1是因为数组检索索引值,举个例子:
[1,2,3,4,5]这是一个5个数据的数组,索引值是0,1,2,3,4索引值到4,减一避免了索引不到错误的问题。
数组-i-1,通过规律观察,5个数遍历一遍走4次,4个数的遍历的第二遍走3次。