lodash所有方法教学
时间: 2023-08-28 12:06:28 浏览: 166
- 1][y] == 3 - cur_player && !visited[x - 1][y]) {
visited[x - 1Lodash 是一个 JavaScript 实用工具库,提供了许多常见的函数和方法来简化 JavaScript 开发。][y] = 1;
if (has_liberty(x - 1, y)) {
flag = 1;
}下面是 Lodash 中常用的一些方法及其用法:
1. `_.chunk(array, [size])`: 将 else if (!check_liberty(x - 1, y)) {
remove(x - 1, y);
}
}
if数组分割成多个子数组,每个子数组包含指定大小的元素。
```javascript
_.chunk([1 (x < BOARD_SIZE - 1 && board[x + 1][y] == 3 - cur_player && !visited[x + , 2, 3, 4, 5], 2);
// => [[1, 2], [3, 41][y]) {
visited[x + 1][y] = 1;
if (has_liberty(x + 1,], [5]]
```
2. `_.compact(array)`: 创建一个新数组,其中不包含 falsey 值(false、 y)) {
flag = 1;
} else if (!check_liberty(x + 1, y)) {
remove(x +null、0、""、undefined 和 NaN)。
```javascript
_.compact([0, 1, false, 2, '', 1, y);
}
}
if (y > 0 && board[x][y - 1] == 3 -3]);
// => [1, 2, 3]
```
3. `_.concat(array, [values])`: 将一个或 cur_player && !visited[x][y - 1]) {
visited[x][y - 1] = 1;
if (has_liberty(x, y - 1)) {
flag = 1;
} else if (!check_liberty(x, y -多个值连接到数组的末尾。
```javascript
var array = [1];
var other = _.concat(array, 2, [3], [[4]]);
console.log(other);
// => [1, 2, 3, [4]]
console.log(array);
// 1)) {
remove(x, y - 1);
}
}
if (y < BOARD_SIZE - 1 && board => [1]
```
4. `_.difference(array, [values])`: 创建一个数组,其中不包含在其他给定[x][y + 1] == 3 - cur_player && !visited[x][y + 1]) {
visited[x][y数组中的元素。
```javascript
_.difference([2, 1], [2, 3]);
// => [1]
`` + 1] = 1;
if (has_liberty(x, y + 1)) {
flag = 1;
`
5. `_.drop(array, [n=1])`: 创建一个切片数组,去掉数组的前 n 个元 } else if (!check_liberty(x, y + 1)) {
remove(x, y + 1);
}
}
return flag;
}
// 下一步
void next() {
char input[10];
int x, y;
int forbidden_hand素。
```javascript
_.drop([1, 2, 3]);
// => [2, 3]
_.drop([1, 2, 3], 2);
// => [3]
_.drop([1, 2, 3], 5);
// = 0;
printf("轮到 %s 下棋:\n", cur_player == BLACK ? "黑方" : "白 => []
_.drop([1, 2, 3], 0);
// => [1, 2, 3]
```
方");
while (1) {
printf("请输入落子位置(如A1):");
scanf("%s", input);
6. `_.find(array, [predicate=_.identity], [fromIndex=0])`: 遍历数组元素,返回第一个 x = input[1] - '1';
y = input[0] - 'A';
if (x < 0通过 predicate 判断为真的元素。
```javascript
var users = [
{ 'user': 'barney', 'active': true || x >= BOARD_SIZE || y < 0 || y >= BOARD_SIZE) {
printf("位置无效!\n");
continue },
{ 'user': 'fred', 'active': false },
{ 'user': 'pebbles', 'active': false;
}
if (!put(x, y)) {
continue;
}
if (check_forbidden_hand(x, y)) {
}
];
_.find(users, function(o) { return o.active; });
// => { 'user': 'barney', 'active': true printf("禁手!\n");
board[x][y] = EMPTY;
continue;
}
if (!check_lib }
// The `_.matches` iteratee shorthand.
_.find(users, { 'user': 'fred', 'active': false });
// =>erty(x, y)) {
printf("提子!\n");
count_score();
}
break;
}
cur { 'user': 'fred', 'active': false }
// The `_.matchesProperty` iteratee shorthand.
_.find(users, ['active_player = 3 - cur_player;
}
// 游戏结束
void game_over() {
count_score();
printf("黑方得', false]);
// => { 'user': 'fred', 'active': false }
// The `_.property` iteratee shorthand.
_.find分:%d\n", black_score);
printf("白方得分:%d\n", white_score);
if (black_score > white(users, 'active');
// => { 'user': 'barney', 'active': true }
```
7. `_.flatten(array)_score) {
printf("黑方胜利!\n");
} else if (black_score < white_score) {
printf("`: 创建一个新数组,将多维数组展开一层。
```javascript
_.flatten([1, [2, [3,白方胜利!\n");
} else {
printf("平局!\n");
}
}
int main() {
[4]], 5]]);
// => [1, 2, [3, [4]], 5]
_.flatten([1, [ init_board();
while (1) {
print_board();
next();
if (black_score + white_score == BOARD_SIZE * BOARD_SIZE) {
game_over();
break;
}
}
return 0;
}
```
使用该程序可以在2, [3, [4]], 5]], true);
// => [1, 2, 3, [4], 5]
```
8. `_.map(collection, [iteratee=_.identity])`: 遍历集合中的每个元素,并codeblocks中进行围棋双人对战,并且实现了落子,吃子,禁手规则和判断胜负等功能。
阅读全文