Hướng dẫn map reverse javascript - bản đồ ngược javascript

Tôi muốn sử dụng chức năng

myArray.slice(0).reverse().map(function(...
8 trên mảng JavaScript, nhưng tôi muốn nó hoạt động theo thứ tự ngược lại.

Lý do là, tôi kết xuất các thành phần React xếp chồng lên nhau trong một dự án thiên thạch và muốn phần tử cấp cao nhất hiển thị trước trong khi các hình ảnh tải phần còn lại bên dưới.

var myArray = ['a', 'b', 'c', 'd', 'e'];
myArray.map(function (el, index, coll) {
    console.log(el + " ")
});

in ra

myArray.slice(0).reverse().map(function(...
9 nhưng tôi ước có một mapreverse () in
myArray.map((val, index, array) => array[array.length - 1 - index]);
0

Bất kỳ đề xuất?

Hỏi ngày 5 tháng 4 năm 2016 lúc 2:06Apr 5, 2016 at 2:06

Hướng dẫn map reverse javascript - bản đồ ngược javascript

Robin Newhouserobin NewhouseRobin Newhouse

1.9882 Huy hiệu vàng16 Huy hiệu bạc17 Huy hiệu đồng2 gold badges16 silver badges17 bronze badges

6

Nếu bạn không muốn đảo ngược mảng gốc, bạn có thể tạo một bản sao nông của nó thì bản đồ của mảng đảo ngược,

myArray.slice(0).reverse().map(function(...

Đã trả lời ngày 5 tháng 4 năm 2016 lúc 2:13Apr 5, 2016 at 2:13

AdamCooper86AdamCooper86AdamCooper86

3.6471 Huy hiệu vàng12 Huy hiệu bạc19 Huy hiệu đồng1 gold badge12 silver badges19 bronze badges

8

Không thay đổi mảng nào cả, đây là giải pháp O (N) một lớp tôi đã đưa ra:

myArray.map((val, index, array) => array[array.length - 1 - index]);

Knut

4314 Huy hiệu bạc14 Huy hiệu đồng4 silver badges14 bronze badges

Đã trả lời ngày 15 tháng 10 năm 2018 lúc 20:38Oct 15, 2018 at 20:38

Hướng dẫn map reverse javascript - bản đồ ngược javascript

2

Bạn có thể sử dụng

myArray.map((val, index, array) => array[array.length - 1 - index]);
1

var myArray = ["a", "b", "c", "d", "e"];
var res = myArray.reduceRight(function (arr, last, index, coll) {
    console.log(last, index);
    return (arr = arr.concat(last))
}, []);
console.log(res, myArray)

Đã trả lời ngày 5 tháng 4 năm 2016 lúc 2:23Apr 5, 2016 at 2:23

1

Với chức năng gọi lại được đặt tên

const items = [1, 2, 3]; 
const reversedItems = items.map(function iterateItems(item) {
  return item; // or any logic you want to perform
}).reverse();

Shorthand (không có chức năng gọi lại) - Cú pháp mũi tên, ES6

const items = [1, 2, 3];
const reversedItems = items.map(item => item).reverse();

Đây là kết quả

Hướng dẫn map reverse javascript - bản đồ ngược javascript

Đã trả lời ngày 16 tháng 3 năm 2019 lúc 19:49Mar 16, 2019 at 19:49

Hướng dẫn map reverse javascript - bản đồ ngược javascript

HarryharryHarry

9232 Huy hiệu vàng12 Huy hiệu bạc18 Huy hiệu đồng2 gold badges12 silver badges18 bronze badges

2

Một giải pháp khác có thể là:

const reverseArray = (arr) => arr.map((_, idx, arr) => arr[arr.length - 1 - idx ]);

Về cơ bản, bạn làm việc với các chỉ mục mảng

Đã trả lời ngày 14 tháng 9 năm 2018 lúc 1:30Sep 14, 2018 at 1:30

MatteomatteoMatteo

1.67222 Huy hiệu bạc36 Huy hiệu đồng22 silver badges36 bronze badges

2

Bạn chỉ cần thêm

myArray.map((val, index, array) => array[array.length - 1 - index]);
2 trước
myArray.map((val, index, array) => array[array.length - 1 - index]);
3

students.slice(0).reverse().map(e => e.id)

Đã trả lời ngày 4 tháng 7 năm 2021 lúc 5:55Jul 4, 2021 at 5:55

Hướng dẫn map reverse javascript - bản đồ ngược javascript

Ali Razaali RazaAli Raza

7819 Huy hiệu bạc14 Huy hiệu đồng9 silver badges14 bronze badges

Tôi thích viết hàm MapReverse một lần, sau đó sử dụng nó. Ngoài ra, điều này không cần phải sao chép mảng.

function mapReverse(array, fn) {
    return array.reduceRight(function (result, el) {
        result.push(fn(el));
        return result;
    }, []);
}

console.log(mapReverse([1, 2, 3], function (i) { return i; }))
// [ 3, 2, 1 ]
console.log(mapReverse([1, 2, 3], function (i) { return i * 2; }))
// [ 6, 4, 2 ]

Đã trả lời ngày 18 tháng 2 năm 2018 lúc 8:20Feb 18, 2018 at 8:20

edi9999edi9999edi9999

18.7K13 Huy hiệu vàng86 Huy hiệu bạc126 Huy hiệu Đồng13 gold badges86 silver badges126 bronze badges

Dưới đây là giải pháp TypeScript của tôi vừa là O (N) và hiệu quả hơn các giải pháp khác bằng cách ngăn chặn việc chạy qua mảng hai lần:

function reverseMap(arg: T[], fn: (a: T) => O) {
   return arg.map((_, i, arr) => fn(arr[arr.length - i - 1]))
}

Trong JavaScript:

myArray.slice(0).reverse().map(function(...
0

Đã trả lời ngày 16 tháng 8 năm 2020 lúc 1:44Aug 16, 2020 at 1:44

Kiểm traJack

7781 Huy hiệu vàng8 Huy hiệu bạc29 Huy hiệu đồng1 gold badge8 silver badges29 bronze badges

Tôi nghĩ rằng đặt khóa

myArray.map((val, index, array) => array[array.length - 1 - index]);
4 sau khi
myArray.map((val, index, array) => array[array.length - 1 - index]);
5 đang hoạt động.

myArray.slice(0).reverse().map(function(...
1

Trong trường hợp của tôi, nó đang hoạt động

Đã trả lời ngày 10 tháng 3 năm 2021 lúc 7:11Mar 10, 2021 at 7:11

Hướng dẫn map reverse javascript - bản đồ ngược javascript

Bạn có thể thực hiện myArray.reverse () trước.

myArray.slice(0).reverse().map(function(...
2

Đã trả lời ngày 5 tháng 4 năm 2016 lúc 2:11Apr 5, 2016 at 2:11

Dannielumdannielumdannielum

3361 Huy hiệu bạc10 Huy hiệu đồng1 silver badge10 bronze badges

2

myArray.slice(0).reverse().map(function(...
3

Tôi bạn vượt qua mảng để bản đồ đảo ngược và trong chức năng bạn trả về mảng đảo ngược. Trong bản đồ CB, bạn chỉ cần lấy các giá trị với chỉ số đếm từ 10 (chiều dài) xuống 1 từ mảng được truyền

Đã trả lời ngày 18 tháng 10 năm 2020 lúc 7:22Oct 18, 2020 at 7:22

1

myArray.slice(0).reverse().map(function(...
4

Đã trả lời ngày 10 tháng 3 năm 2021 lúc 7:31Mar 10, 2021 at 7:31

1

Nếu bạn đang sử dụng một mảng bất biến từ giả sử trạng thái giảm redux, bạn có thể áp dụng

myArray.map((val, index, array) => array[array.length - 1 - index]);
6 bằng cách tạo một bản sao như thế này:

myArray.slice(0).reverse().map(function(...
5

Đã trả lời ngày 7 tháng 3 lúc 14:43Mar 7 at 14:43

Hướng dẫn map reverse javascript - bản đồ ngược javascript

Đầu tiên, bạn nên tạo một bản sao nông của mảng, sau đó sử dụng chức năng đó trên bản sao.

myArray.map((val, index, array) => array[array.length - 1 - index]);
7

Đã trả lời ngày 9 tháng 6 lúc 10:57Jun 9 at 10:57

Thêm Reverse () vào đoạn mã của bạn:

myArray.slice(0).reverse().map(function(...
6

Tôi hy vọng nó sẽ giúp

Đã trả lời ngày 13 tháng 9 lúc 16:14Sep 13 at 16:14

Hướng dẫn map reverse javascript - bản đồ ngược javascript

1

Một câu hỏi cũ nhưng đối với người xem mới, đây là cách tốt nhất để đảo ngược mảng bằng cách sử dụng bản đồ

myArray.slice(0).reverse().map(function(...
7

Đã trả lời ngày 20 tháng 3 năm 2020 lúc 14:37Mar 20, 2020 at 14:37

2