JavaScript 数组API(JS 里数组有哪些API?)

JavaScript数组操作全解析:增删改查、排序与实用技巧
本文详细介绍了JavaScript中数组的添加、删除、排序、连接、截取等基本操作,包括ES5和ES6新增的API,如forEach、map、filter等,适合深入理解数组在编程中的运用。

1.添加数组

        push(val1, val2, ...)  //从末尾添加

        unshift(val1, val2, ...)  //从开头添加

        splice(index, 0, val1, val2, ...)  //从指定索引处添加

        array[array.length] = value;  //向末尾添加一个元素

2.删除元素

        pop()  //从末尾删除一个元素,并返回删除的元素

        shift()  //从开头删除一个元素,返回删除的元素

        splice(index, homany, val1, val2, ...)  //从指定索引处删除指定个数的元素,以新元素值替换(如果有的话),返回数组,数组中的元素是所删除的值

        array.length = len  //从末尾删除多个元素

3.排序

        reverse()  //反转

        sort()  //升序,默认按照数组元素的字符串编码顺序排序(如果需要按照指定的其他方式排序看示例)

        sort示例:

<script>
    function sortNumber(a, b){
        return a - b
    }
    var arr = [10, 5, 40, 25, 6, 1000, 1];
    document.write(arr.sort(sortNumber))
</script>

//输出[1, 5, 6, 10, 25, 40, 1000]

4.连接

        concat()  //数组连接,返回连接后的数组,原数组本身不受影响

        join("sep")  //将数组元素连接成字符串返回,该字符串默认使用逗号连接各元素,如果需要使用其它符号,传递参数

5.截取

        slice(start, end)  //从start起始索引处,截取子数组到end结束索引处,包含起始索引的元素,不包含结束索引处元素。end可省略,表示截取到最后。start,end都可以取负值,表示从后往前计数。

6.转换

        toString()  //使用逗号连接数组元素为字符串返回

/*********ES5数组新增API*********/

7.遍历迭代

        forEach(callback)  //forEach()方法对数组的每个元素执行一次提供的函数callback。callback语法:function(currentValue, index, array){}  //currentValue 数组中遍历到的当前值。index 当前遍历到元素在数组中的下标。 array 正在调用forEach()方法的数组

        map(callback)  //map()方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。

        some(callback)  //some()方法测试数组中的某些元素是否通过由提供的函数实现的测试。

        every(callback) //every()方法测试数组的所有元素是否都通过了指定函数的测试。

        filter(callback)  //filter()方法创建一个新数组,其包含通过所提供函数实现的测试的所有元素。

8.查找

        indexOf(searchValue, fromIndex)  //indexOf()方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。查找数组中searchElement元素第一次出现的索引,默认从下标编号为0的位置开始查找。参数:searchValue 要查的值;fromIndex 查找开始位置。

        lastIndexOf(searchElement[,fromIndex=length - 1])  //从后向前查

9.归并

        reduce()  //reduce()方法对累加器和数组中的每个元素(从左到右)应用一个函数,将其减少为单个值。

        reduceRight() //从右到左

        语法:

                array.reduce(function(total, currentValue, currentIndex, arr){}, initialValue)  //total 初始值(必)或计算后返回值。currentValue  当前元素(必)。currentIndex 当前元素索引(可)。arr  当前数组(可)。 initialValue 传给函数的初始值(可)。

10.ES6新增API

        Array.from()  // 从一个类似数组或可迭代对象中创建一个新的数组示例。

        Array.prototype.fill()  // 通过数组实例来调用,用一个固定值填充一个数组中从起始索引到终止索引内的全部元素。

        array.fill()

        array.fill(value, start, end)  // value:填充值  start:起始位置(可省)  end:结束位置(可省,结束位置是end-1)

作者博客:www.huanlezhanji.com

JavaScript 提供了丰富的数组操作 API,这些 API 可以方便地对数组进行各种操作。下面是一些常用的 JavaScript 数组方法及其用法示例: ```javascript // 创建一个数组 let arr = [1, 2, 3, 4, 5]; // push: 向数组末尾添加元素 arr.push(6); console.log(arr); // 输出: [1, 2, 3, 4, 5, 6] // pop: 删除数组最后一个元素 arr.pop(); console.log(arr); // 输出: [1, 2, 3, 4, 5] // shift: 删除数组第一个元素 arr.shift(); console.log(arr); // 输出: [2, 3, 4, 5] // unshift: 向数组开头添加元素 arr.unshift(0); console.log(arr); // 输出: [0, 2, 3, 4, 5] // splice: 删除、替换或添加元素 arr.splice(1, 2, 'a', 'b'); // 从索引1开始删除2个元素,然后插入'a'和'b' console.log(arr); // 输出: [0, 'a', 'b', 4, 5] // slice: 提取子数组(不改变原数组) let subArr = arr.slice(1, 3); // 从索引1开始提取到索引3之前的元素 console.log(subArr); // 输出: ['a', 'b'] // map: 对数组中的每个元素调用函数并返回新数组 let doubled = arr.map(x => x * 2); console.log(doubled); // 输出: [0, 'aa', 'bb', 8, 10] (注意非数字的处理) // filter: 筛选出符合条件的元素 let filtered = arr.filter(x => typeof x === 'number'); console.log(filtered); // 输出: [0, 4, 5] // reduce: 对数组元素执行回调函数,将其结果汇总为单个输出 let sum = arr.reduce((acc, cur) => { if (typeof cur === 'number') return acc + cur; else return acc; }, 0); console.log(sum); // 输出: 9 // forEach: 遍历数组并对每个元素执行回调函数 arr.forEach(x => console.log(x)); // 输出: // 0 // 'a' // 'b' // 4 // 5 // find: 返回满足条件的第一个元素 let found = arr.find(x => x > 3); console.log(found); // 输出: 4 // includes: 判断数组是否包含某个元素 console.log(arr.includes(4)); // 输出: true console.log(arr.includes('a')); // 输出: true ``` 上述代码中展示了多个 JavaScript 数组 API 的基本用法: - `push` 和 `pop` 用于在数组的末尾添加或移除元素。 - `shift` 和 `unshift` 用于在数组的开头移除或添加元素。 - `splice` 可以用来删除、替换或添加元素。 - `slice` 提取子数组而不改变原数组。 - `map` 对每个元素应用函数并生成新数组。 - `filter` 根据条件筛选出符合条件的元素。 - `reduce` 将数组元素归约为单一值。 - `forEach` 遍历数组并对每个元素执行回调函数。 - `find` 查找满足条件的第一个元素。 - `includes` 判断数组是否包含指定元素。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Yongqiang Chen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值