———-
▉ 数组有哪些基本操作?
数组可以理解成是Excel中的列,基本上在列方向上的操作,都可以联想到JS数组的操作。
以下是一些常见的操作:
▶ 一、添加元素
push():在数组末尾添加一个或多个元素,并返回新的数组长度。
javascript</p><p>function test_add_item(){</p><p> const arr = [1, 2, 3];</p><p> arr.push(4);</p><p> console.log(JSON.stringify(arr)); </p><p>}</p><p>
unshift():在数组开头添加一个或多个元素,并返回新的数组长度。
javascript</p><p>function test_unshift(){</p><p> const arr = [1, 2, 3];</p><p> arr.unshift(0);</p><p> console.log(JSON.stringify(arr)); // [0, 1, 2, 3]</p><p>}</p><p>
▶ 二、删除元素
pop():删除数组的最后一个元素,并返回被删除的元素。
javascript</p><p>function test_pop(){</p><p> const arr = [1, 2, 3];</p><p> const removedElement = arr.pop();</p><p> console.log(JSON.stringify(arr)); // [1, 2]</p><p> console.log(removedElement); // 3</p><p>}</p><p>
shift():删除数组的第一个元素,并返回被删除的元素。
javascript</p><p>function test_shift(){</p><p> const arr = [1, 2, 3];</p><p> const removedElement = arr.shift();</p><p> console.log(JSON.stringify(arr)); // [2, 3]</p><p> console.log(removedElement); // 1</p><p>}</p><p>
▶ 三、查找元素
indexOf():返回指定元素在数组中的第一个位置,如果不存在则返回 -1。
javascript</p><p>function test_indexof(){</p><p> const arr = [1, 2, 3, 2];</p><p> console.log(arr.indexOf(2)); // 1</p><p>}</p><p>
lastIndexOf():返回指定元素,在数组中的最后一个位置,如果不存在则返回 -1。
javascript</p><p>function test_lastIndexOf(){</p><p> const arr = [1, 2, 3, 2];</p><p> console.log(arr.lastIndexOf(2)); // 3</p><p>}</p><p>
includes():判断数组是否包含指定元素,返回true或false。
javascript</p><p>function test_includes(){</p><p> const arr = [1, 2, 3];</p><p> console.log(arr.includes(2)); // true</p><p>}</p><p>
▶ 四、数组遍历
前面已经讲过了,关注拉小登Excel,参考前面的教程
▶ 五、数组拼接和切片
concat():连接两个或多个数组,返回一个新数组。
javascript</p><p>function test_concat(){</p><p> const arr1 = [1, 2];</p><p> const arr2 = [3, 4];</p><p> const combinedArray = arr1.concat(arr2);</p><p> console.log(JSON.stringify(combinedArray)); // [1, 2, 3, 4]</p><p>}</p><p>
slice():从数组中提取一部分,返回一个新数组。下面的代码,把第2~第5个元素提取出来,生成了一个新的数组。
javascript</p><p>function test_slice(){</p><p> let arr = [1, 2, 3, 4, 5];</p><p> let slicedArray = arr.slice(1, 4);</p><p> console.log(JSON.stringify(slicedArray)); // [2, 3, 4]</p><p>}</p><p>
slice函数的用法如下:
</p><p>array.slice(start, end)</p><p>
- start:可选参数,表示提取开始的位置索引,默认为 0。如果是负数,则表示从数组末尾开始计数。
- end:可选参数,表示提取结束的位置索引(不包括该位置的元素),默认为数组的长度。如果是负数,则表示从数组末尾开始计数。
▶ 六、行列拼接
在Excel总还有vstack和HSTACK两个函数,分别用来讲多列、多行拼接成一个表格。
JSA中没有类似的函数,所以我就自己写了一个。
vstack函数。把多行数据按列方向,向下拼接。
</p><p>function test_vstack(){</p><p> const arr1 = [1, 2];</p><p> const arr2 = [3, 4];</p><p> const combinedArray = [arr1,arr2];</p><p> Range("A1:B2").Value2= combinedArray;</p><p> console.log(JSON.stringify(combinedArray)); </p><p>}</p><p>
计算结果是:[[1,2],[3,4]]
赋值到表格中,效果如下:
hstack函数。把多列数据按行方向,向右拼接。
</p><p>function test_hstack(){</p><p> const arr1 = [1, 2];</p><p> const arr2 = [3, 4];</p><p> const combinedArray = [arr1,arr2];</p><p> Range("A1:B2").Value2= transpose(combinedArray);</p><p> console.log(JSON.stringify(combinedArray)); </p><p>}</p><p>function transpose(arr){</p><p> const transposed = [];</p><p> for (let i = 0; i < arr[0].length; i++) {</p><p> transposed[i] = [];</p><p> for (let j = 0; j < arr.length; j++) {</p><p> transposed[i][j] = arr[j][i];</p><p> }</p><p> }</p><p> return transposed;</p><p>}</p><p>
把数据赋值到表格中,效果如下:
▶ 六、数组排序和反转
sort():对数组进行排序,默认按照字典序排序。可以传入比较函数来自定义排序规则。
javascript</p><p>function test_sort(){</p><p> const arr = [3, 1, 2];</p><p> arr.sort();</p><p> console.log(JSON.stringify(arr)); // [1, 2, 3]</p><p>}</p><p>
reverse():反转数组的顺序。
javascript</p><p>function test_reverse(){</p><p> const arr = [1, 2, 3];</p><p> arr.reverse();</p><p> console.log(JSON.stringify(arr)); // [3, 2, 1]</p><p>}</p><p>
▶ 七、其他操作
map():对数组中的每个元素应用一个函数,返回一个新数组。
下面的代码,对数组中的每个数组乘以了2。
javascript</p><p>function test_map(){</p><p> const arr = [1, 2, 3];</p><p> const mappedArray = arr.map(item => item * 2);</p><p> console.log(JSON.stringify(mappedArray)); // [2, 4, 6]</p><p>}</p><p>
filter():过滤数组中的元素,返回一个新数组,其中包含通过测试函数的元素。
下面的代码,用来筛选出数组中所有的偶数。
javascript</p><p>function test_filter(){</p><p> const arr = [1, 2, 3, 4];</p><p> const filteredArray = arr.filter(item => item % 2 === 0);</p><p> console.log(JSON.stringify(filteredArray)); // [2, 4]</p><p>}</p><p>
reduce():对数组中的元素进行累积操作,返回一个单一的值。用法和Excel中的reduce函数类似。
javascript</p><p>function test_reduce(){</p><p> const arr = [1, 2, 3];</p><p> const sum = arr.reduce((accumulator, currentValue) => accumulator + currentValue, 0);</p><p> console.log(sum); // 6</p><p>}</p><p>
▶ 清空数组
将数组的长度length设置为0,即可以清空数组中的所有内容,得到一个空白的数组。
</p><p>function test_清空(){</p><p> let arr = [1, 2, 3];</p><p> arr.length = 0;</p><p> console.log(JSON.stringify(arr)); // []</p><p>}</p><p>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/186829.html