我正在嘗試使用 for... of 回圈復制這種選擇排序 for 回圈。我已經致力于轉換它一段時間了,但是,我嘗試過的任何方法都沒有奏效。這可能嗎?
陣列集:
var fruits = ["Apple", "Banana", "Carrot", "Guava", "Orange"];
傳統的for回圈
for (var i = 0; i < fruits; i ) {
let outerItem = fruits[i];
for (var j = i 1; j < fruits.length; j ) {
let innerItem = fruits[j];
if (innerItem == outerItem) {
innerItem.length > outerItem.length ? fruits.splice(fruits.indexOf(outerItem), 1) :
fruits.splice(fruits.indexOf(innerItem), 1);
}
}
}
for...of 回圈
for(let outerItem of fruits)
{
for(let innerItem of fruits)
{
}
}
uj5u.com熱心網友回復:
要快速復制陣列,請使用 slice:const sliced = fruits.slice();
下面顯示了給定陣列的Traditional for loop和的解決方案for...of loopvar fruits = ["Apple", "Banana", "Carrot", "Guava", "Orange"];
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
const writeln = (text = '') => document.writeln(text '<br/>');
</script>
<script>
var fruits = ["Apple", "Banana", "Carrot", "Guava", "Orange"];
writeln(fruits);
writeln();
writeln('Slice');
const sliced = fruits.slice();
writeln(sliced);
writeln();
writeln('Traditional for loop');
const copy = [];
for (var i = 0; i < fruits.length; i ) {
copy.push(fruits[i]);
}
writeln(copy);
writeln();
writeln('for...of loop');
const copy1 = [];
for (const value of fruits) {
copy1.push(value);
}
writeln(copy1);
</script>
</body>
</html>
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/466266.html
標籤:javascript 数组 排序 数据结构
下一篇:在嵌套陣列jq中抓取n項
