Вы можете использовать _.at()
Лодаша с _.map()
:
const data = {"_id":"93866","stats":[{"points":86,"pos":11,"createdAt":"2019-01-16T10:13:40.650Z","updatedAt":"2019-01-16T10:13:40.825Z"},{"points":79,"pos":26,"createdAt":"2019-01-16T10:13:40.650Z","updatedAt":"2019-01-16T10:13:40.825Z"},{"points":64,"pos":39,"createdAt":"2019-01-16T10:13:40.650Z","updatedAt":"2019-01-16T10:13:40.825Z"}]};
const result = _.map(data.stats, o => _.at(o, ['points', 'pos']));
console.log(result);
Вы также можете использовать lodash / fp версии _.map()
и _.at()
для создания функции:
const data = {"_id":"93866","stats":[{"points":86,"pos":11,"createdAt":"2019-01-16T10:13:40.650Z","updatedAt":"2019-01-16T10:13:40.825Z"},{"points":79,"pos":26,"createdAt":"2019-01-16T10:13:40.650Z","updatedAt":"2019-01-16T10:13:40.825Z"},{"points":64,"pos":39,"createdAt":"2019-01-16T10:13:40.650Z","updatedAt":"2019-01-16T10:13:40.825Z"}]};
const fn = _.map(_.at(['points', 'pos']));
const result = fn(data.stats);
console.log(result);
[ 113] Можно использовать отрицательные целые числа с режущим оператором для этого. Вот пример с помощью Python интерпретатор CLI:
>>> a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
>>> a
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
>>> a[-9:]
[4, 5, 6, 7, 8, 9, 10, 11, 12]
важная строка a[-9:]
отрицательный индекс рассчитает от конца списка, таким образом:
num_list[-9:]
Последние 9 элементов могут быть считаны от левого до права с помощью numlist [-9:], или от права до левого использования numlist [:-10:-1], как Вы хотите.
>>> a=range(17)
>>> print a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
>>> print a[-9:]
[8, 9, 10, 11, 12, 13, 14, 15, 16]
>>> print a[:-10:-1]
[16, 15, 14, 13, 12, 11, 10, 9, 8]