Skip to content

Commit 277f285

Browse files
committed
feat: 添加了新的javascript代码段
1 parent 4dc0fda commit 277f285

File tree

3 files changed

+30
-0
lines changed

3 files changed

+30
-0
lines changed

Diff for: README.md

+1
Original file line numberDiff line numberDiff line change
@@ -617,3 +617,4 @@
617617
- [截取满足条件的数组 2--2023-05-14](codes/javascript/takeRightWhile.md)
618618
- [截取规定长度的数组--2023-05-15](codes/javascript/takeRight.md)
619619
- [截取不满足规定条件的元素数组--2023-05-16](codes/javascript/takeUntil.md)
620+
- [截取满足规定条件的元素数组--2023-05-17](codes/javascript/takeWhile.md)

Diff for: codes/javascript/takeWhile.md

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
| 标题 | 标签 |
2+
| ------------------------------------- | ----------- |
3+
| takeWhile(截取满足规定条件的元素数组) | array(数组) |
4+
5+
删除数组中的元素,直到传递的函数返回 false。 返回删除的元素。
6+
7+
- 遍历数组,在 Array.prototype.entries() 上使用 for...of 循环,直到函数的返回值为假。
8+
- 使用 Array.prototype.slice() 返回移除的元素。
9+
- 回调函数 fn 接受一个参数,即元素的值。
10+
11+
```js
12+
const takeUntil = (arr, fn) => {
13+
for (const [i, val] of arr.entries()) {
14+
if (!fn(val)) {
15+
return arr.slice(0, i);
16+
}
17+
}
18+
return arr;
19+
};
20+
```
21+
22+
> 调用方式:
23+
24+
```js
25+
takeWhile([1, 2, 3, 4], n => n < 3); // [1, 2]
26+
```
27+
28+
> 应用场景

Diff for: pages/sidebar.md

+1
Original file line numberDiff line numberDiff line change
@@ -608,3 +608,4 @@
608608
- [截取满足条件的数组 2--2023-05-14](codes/javascript/takeRightWhile.md)
609609
- [截取规定长度的数组--2023-05-15](codes/javascript/takeRight.md)
610610
- [截取不满足规定条件的元素数组--2023-05-16](codes/javascript/takeUntil.md)
611+
- [截取满足规定条件的元素数组--2023-05-17](codes/javascript/takeWhile.md)

0 commit comments

Comments
 (0)