JS数组相关知识

本文详细介绍了JavaScript中的数组操作,如获取最大值/最小值、数组元素增加(push()和unshift())、数组筛选以及删除方法(pop(),shift(),splice())。同时,还展示了冒泡排序算法的实现及其在JavaScript中的应用。
摘要由CSDN通过智能技术生成

获取数组的最大值/最小值:

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次。

  • 24
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值