1. 查找数组元素的位置
找出元素 item 在给定数组 arr 中的位置
输出描述:
1 | 如果数组中存在 item,则返回元素在数组中的位置,否则返回 -1 |
示例1
输入
1 | [ 1, 2, 3, 4 ], 3 |
输出
1 | 2 |
break是跳出一层循环,continue是结束一趟循环 ,return结束所有层循环
1 |
|
2. 数组求和
计算给定数组 arr 中所有元素的总和
输入描述:
1 | 数组中的元素均为 Number 类型 |
示例1
输入
1 | [ 1, 2, 3, 4 ] |
输出
1 | 10 |
普通常规
1 | function sum(arr) { |
迭代方法
1 | function sum(arr){ |
归并方法
1 | function sum(arr){ |
递归方法
1 | function sum(arr) { |
eval方法
1 | function sum(arr) { |
3.移除数组中的元素
移除数组 arr 中的所有值与 item 相等的元素,直接在给定的 arr 数组上进行操作,并将结果返回
示例1
输入
1 | [1, 2, 2, 3, 4, 2, 2], 2 |
输出
1 | [1, 3, 4] |
迭代方法
1 | function remove(arr, item) { |
常规方法
1 | function remove(arr,item){ |
splice方法
1 | function remove(arr, item) { |
4. 移除数组中的元素(2)
移除数组 arr 中的所有值与 item 相等的元素,直接在给定的 arr 数组上进行操作,并将结果返回
示例1
输入
1 | [1, 2, 2, 3, 4, 2, 2], 2 |
输出
1 | [1, 3, 4] |
我写的:
1 | function removeWithoutCopy(arr, item) { |
讨论区答案
1 | function removeWithoutCopy(arr, item) { |
5.添加元素(1)
在数组 arr 末尾添加元素 item。不要直接修改数组 arr,结果返回新的数组
示例1
输入
1 | [1, 2, 3, 4], 10 |
输出
1 | [1, 2, 3, 4, 10] |
我写的:
1 | function append(arr, item) { |
普通迭代拷贝:
1 | function append(arr, item) { |
slice拷贝数组
1 | function append(arr, item) { |
6.删除数组最后一个元素
删除数组 arr 最后一个元素。不要直接修改数组 arr,结果返回新的数组
示例1
输入
1 | [1, 2, 3, 4] |
输出
1 | [1, 2, 3] |
我写的
1 | function truncate(arr) { |
利用slice
1 | functiontruncate(arr) { |
普通拷贝迭代
1 | function truncate(arr, item) { |
其他方法
1 | //利用filter |
7.添加元素(2)
在数组 arr 开头添加元素 item。不要直接修改数组 arr,结果返回新的数组
示例1
输入
1 | [1, 2, 3, 4], 10 |
输出
1 | [10, 1, 2, 3, 4] |
我写的
1 | //unshift |
新思路:
1 | function prepend(arr, item) { |
8.删除数组第一个元素
删除数组 arr 第一个元素。不要直接修改数组 arr,结果返回新的数组
示例1
输入
1 | [1, 2, 3, 4] |
输出
1 | [2, 3, 4] |
我写的
1 | //slice方法 |
9.数组合并
合并数组 arr1 和数组 arr2。不要直接修改数组 arr,结果返回新的数组
示例1
输入
1 | [1, 2, 3, 4], ['a', 'b', 'c', 1] |
输出
1 | [1, 2, 3, 4, 'a', 'b', 'c', 1] |
我写的
1 | function concat(arr1, arr2) { |
讨论区
1 | //利用slice+push.apply |
10.添加元素(3)
在数组 arr 的 index 处添加元素 item。不要直接修改数组 arr,结果返回新的数组
示例1
输入
1 | [1, 2, 3, 4], 'z', 2 |
输出
1 | [1, 2, 'z', 3, 4] |
1 | function insert(arr, item, index) { |