Я пытаюсь получить отсортированный список элементов по данным с использованием моментов lodash и vue, я использую вычисляемое свойство, но по какой-то причине это вычисляемое свойство с именем sortByUsedDate возвращает число вместо отсортированного массива... оно возвращает ровно 11,
Это мой код:
sortByUsedDate: function(){
let sortedCodes = _.orderBy(this.modalPayload.discountcodes, (code) => {
return Vue.moment(code.usedDate).format('MDYYYY');
}, ['desc']);
let sortedWithoutUnused = _.remove(sortedCodes, function(code) {
return code.isBought === 1;
});
let unusedCodes = _.filter(this.modalPayload.discountcodes, function(code){
return code.isBought == 0;
});
let final = sortedWithoutUnused.push(unusedCodes);
return final;
}
.push
возвращает длину массива. Вы должны просто вернуть массив без присваивания:
sortedWithoutUnused.push(unusedCodes);
return sortedWithoutUnused;
Но если вы пытаетесь объединить два массива, я не думаю, что вы все равно хотите использовать push, вы, вероятно, захотите использовать ...
или .concat
вместо этого:
return [...sortedWithoutUnused, ...unusedCodes];
Или же
return sortedWithoutUnused.concat(unusedCodes);
Array#slice
вместоreturn [...sortedWithoutUnused, ... unusedCodes]