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]];
0Bất kỳ đề xuất?
Hỏi ngày 5 tháng 4 năm 2016 lúc 2:06Apr 5, 2016 at 2:06
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
2
Bạn có thể sử dụng
myArray.map[[val, index, array] => array[array.length - 1 - index]];
1var 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ả
Đã trả lời ngày 16 tháng 3 năm 2019 lúc 19:49Mar 16, 2019 at 19:49
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]];
3students.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
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[...
1Trong 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
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[...
3Tô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
Đầ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[...
6Tô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
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