数组:List

1、修改数组内容 —> 返回数组

  • adjust(将数组中指定索引处的值替换为经函数变换的值)

    1. R.adjust(1, R.toUpper, ['a', 'b', 'c', 'd']); //=> ['a', 'B', 'c', 'd']
  • update(替换数组中指定索引处的值)

    1. R.update(1, '_', ['a', 'b', 'c']); //=> ['a', '_', 'c']
    2. R.update(-1, '_', ['a', 'b', 'c']); //=> ['a', 'b', '_']

2、数组内容的逻辑判断 -> 返回布尔类型

  • all (如果列表中的所有元素都满足 predicate(断言),则返回 true;否则,返回 false)

    1. const equals3 = R.equals(3);
    2. R.all(equals3)([3, 3, 3, 3]); //=> true
    3. R.all(equals3)([3, 3, 1, 3]); //=> false
  • any(只要列表中有一个元素满足 predicate,就返回 true,否则返回 false)

    1. const lessThan0 = R.flip(R.lt)(0); // 不熟悉flip函数的同学,地址在这里https://ramda.cn/docs/#flip
    2. const lessThan2 = R.flip(R.lt)(2); // 不熟悉lt函数的同学,地址在这里https://ramda.cn/docs/#lt
    3. R.any(lessThan0)([1, 2]); //=> false
    4. R.any(lessThan2)([1, 2]); //=> true
  • allPass(传入包含多个 predicate 的列表,返回一个 predicate(断言):如果给定的参数满足列表中的所有 predicate ,则返回 true) ```javascript const isQueen = R.propEq(‘rank’, ‘Q’); const isSpade = R.propEq(‘suit’, ‘♠︎’); const isQueenOfSpades = R.allPass([isQueen, isSpade]);

isQueenOfSpades({rank: ‘Q’, suit: ‘♣︎’}); //=> false isQueenOfSpades({rank: ‘Q’, suit: ‘♠︎’}); //=> true ```