#javascript #lodash
#javascript #lodash
Вопрос:
Я работаю над проектом, основанным на реакции, и получаю данные из api просто так
[
{
"value":[1,2,3.....1250] //each have max 1250 item, can be have multi of them
},
{
"value":[1,2,3.....1230]
}
]
Проблема в том, что я не знаю, сколько таких элементов, может быть, у 3,4 объекта есть 1250 элементов, я не знаю, поэтому мой вопрос в том, как объединить 2 или больше одного объекта, значение объекта будет выглядеть так, если у нас есть только 2 объекта:
[
{
"value":[1,2,3...1250,1,2,3..1230]. //will have every value of two object
}
]
Как я могу это сделать в lodash??
Ответ №1:
Вам не нужен lodash . Вы можете сделать это просто с помощью метода сокращения JS.
Если вы действительно хотите использовать lodash, то
_ is importing lodash as _
_.reduce(arr, (currentArray, currentValueObject) => ([{
value: [...currentArray[0].value, ...currentValueObject.value] //concatenate current object value to the object valules till now
}]), [{
value: [] //the final value array inside object
}])
var arr = [{
"value": [1, 2, 3, 1250] //each have max 1250 item, can be have multi of them
},
{
"value": [1, 2, 3, 1230]
}
]
var result = arr.reduce((currentArray, currentValueObject) => ([{
value: [...currentArray[0].value, ...currentValueObject.value] //concatenate current object value to the object valules till now
}]), [{
value: [] //the final value array inside object
}])
console.log(result);
Комментарии:
1. У вас какая-то ошибка в коде lodash, он не может быть запущен @Himashiru
2. Вы импортировали Lodash?? Я только что привел вам пример… Вот док lodash.com/docs/4.17.15#reduce