2016-11-01 3 views
1

В значительной степени название. У меня было несколько идей, но ни один из них, похоже, не сработал - я не могу понять, что именно нужно аргументам функции сокращения, даже после чтения документации и примеров.Javascript - использование сокращения для изменения массива

Я должен взять массив в качестве аргумента и использовать сокращение, чтобы вернуть обратное значение массива.

+2

Что с 'массива # реверса()'? – Rayon

+1

В чем проблема с 'array.reverse()'? –

+1

Почему бы вам не просто использовать метод '.reverse()'? Объедините его с '.slice()', если вам нужна копия. –

ответ

2

Вы можете просто сделать это:

array.reduce((v,a) => { v.unshift(a); return v; }, []); 

Просто добавив его в результирующем массиве (на передней панели) уменьшит массив и оставить последний элемент в передней части. Но, как и все упоминания, массивы уже имеют. Встроенный метод имеет дело с этим: Array.reverse.

0
var reverseArray = function (arr) { 
    return list.reduce(function (list, current) { 
    list.unshift(current); 
    return list; 
    }, []); 
}; 

console.log(reverseArray([1,2,3,4])); 
0

Вы можете просто так:

var arr = [1,2,3,4,5], 
 
    brr = arr.reduce((p,c) => [c].concat(p)); 
 
console.log(brr);

... или один другой способ

var arr = [1,2,3,[4],5], 
 
    brr = arr.reduce((p,c,i) => i-1 ? [c,...p] : [c,p]); 
 
console.log(brr);

Смежные вопросы