数组常用的一些方法

数组五个迭代方法

forEach():没有返回值,只是针对每个数组项调用指定的函数(callbackfn)

every(): 返回一个布尔值(true或false),判断每个数组项是否符合指定函数的条件,符合为true,反之为false

some(): 返回一个布尔值(true或false),判断每个数组项是否符合指定函数的条件,只要有任何一项返回为true,就会返回true

filter(): 每个数组项调用指定的函数,条件为true的将返到一个新数组中

var arr = [1,2,3]
var arr_new= that.tag.filter(item => {
 return item != 1;
});
arr_new //[2,3]

 map(): 每个数组项调用指定的函数,返回每次函数调用的结果组成一个新数组

var arr = [1,2,3]
var arr_new= arr.map(item => {
        return item+1;
});
arr_new //[2,3,4]

 这五个数组迭代的方法中,其中forEach()、every()和some()方法不生成一个新数组,而filter()和map()方法将会生成一个新数组(符合条件)。

 数组合并:

concat() 方法用于连接两个或多个数组。

 该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。

var arr1 = [1,2];
var arr2 =[3,4];
var  arr3 =[5,6];
var arr_new1= arr1.concat(arr2);
var arr_new2= arr1.concat(arr2,arr3);
arr_new1//[1,2,3,4]
arr_new2//[1,2,3,4,5,6]

 从数组创建字符串

join() 方法用于把数组中的所有元素放入一个字符串。

元素是通过指定的分隔符进行分隔的。

 

var arr =[110,112,119]
console.log(arr.join())//"110,112,119"
默认以逗号分割
console.log(arr.join('+'))//"110+112+119"
也可自定义分隔符
 数组删除与清空
delete方法
这种方式数组长度不变
var arr = [22,33,44,55];
delete arr[1];
这种方式数组长度不变,此时arr[1]变为undefined了
 splice方法 
这种方式数组长度相应改变,但是原来的数组索引也相应改变
splice参数中第一个1,是删除的起始索引(从0算起),   第二个元素是删除元素的个数
 
var ary = [1,2,3,4];
ary.splice(0,ary.length);//清空数组
console.log(ary); // 输出 [],空数组,即被清空了


var ary = [11,22,33,44];
ary.splice(0,1);//删除数组中11
或 ary.splice($.inArray(11, ary), 1); 
其中$.inArray(2, ary)用来查找某元素在数组中的索引位置。
splice方法在删除数组元素的同时,还可以新增入数组元素
比如arr.splice(1,1,55,66),55,66两个元素就被加入数组arr了

 选取数组中的元素

arrayObject.slice(start,end)

返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。

如果没有指定end参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。

### 数组常见操作及方法 以下是关于数组的一些常见操作及其对应的方法: #### 1. 显示数组内容 通过 `Debug` 节点可以显示数组的内容。在 Node-RED 中,可以通过连接一个 Debug 类型的节点并部署流程来查看数组的结果[^1]。 #### 2. 拆分数组 拆分数组的操作通常涉及将大数组分割成更小的部分或者提取子集。虽然未具体提及实现方式,但在 JavaScript 中可使用 `slice()` 方法完成此功能。 ```javascript const array = [1, 2, 3, 4]; const subArray = array.slice(1, 3); // 返回 [2, 3] ``` #### 3. 排序数组 对于数组排序,JavaScript 提供了内置的 `sort()` 方法。该方法允许自定义比较函数以控制排序逻辑[^2]。 ```javascript let sortArr = [4, 2, 5, 1]; sortArr.sort((a, b) => a - b); // 升序排列:[1, 2, 4, 5] ``` #### 4. 合并数组 要合并两个或多个数组,可以使用 `concat()` 方法。这会创建一个新的数组实例而不改变原始数组。 ```javascript let concatArr1 = [1, 2]; let concatArr2 = [3, 4]; let combinedArr = concatArr1.concat(concatArr2); // 结果为 [1, 2, 3, 4] ``` #### 5. 填充数组元素 如果需要向数组中填充值,则可以利用 `fill()` 方法指定起始索引和结束索引来覆盖原有数据项。 ```javascript let fillArr = new Array(5).fill(0); // 或者部分填充 let partialFillArr = [1, 2, 3].fill('X', 1, 3); // ['1','X','X'] ``` #### 6. 过滤数组 当希望筛选符合条件的数据时,应考虑采用 `filter()` 函数迭代整个集合,并依据回调条件保留满足需求的对象。 ```javascript let filterArr = [1, 2, 3, 4].filter(item => item % 2 === 0); // 只留下偶数 [2, 4] ``` #### 7. 归约处理 (Reduce) 为了累积计算数值或者其他形式的结果,`reduce()` 是非常强大的工具之一。它接受累加器与当前值作为参数逐步构建最终产物。 ```javascript let sum = [0, 1, 2, 3].reduce((prev, curr) => prev + curr, 0); // 总计得到 6 ``` 以上列举了几种常用数组操作技术以及它们的应用场景描述。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值