1
配列をソートする必要がありますが、2つのオブジェクトがあるため、これを行う方法がわかりません。犬の名前をアルファベット順やおもちゃの番号順に並べ替える必要があります。これどうやってするの? Array#sort
が最初にしてtoynum
2つのオブジェクトで配列を並べ替える
arr.sort(function (a, b) {
return a.name.localeCompare(b.name) || a.toynum - b.toynum;
});
によってあなたがデータを持つ配列を充填した後に一度だけソートする必要がカスタムのソートのために必要とし、ソートname
によりとしてあなたはソート機能を使用することができ
function start() {
document.getElementById("task").innerHTML="Task 8";
var arr = [];
var vName = "";
vName = prompt("Enter dog name (leave blank to stop)");
vToyNum = prompt("Enter number of dog toys (leave blank to stop)");
while (vName.length > 0 && vToyNum.length > 0) {
arr.push({name:vName,toynum:vToyNum});
arr.sort({name:vName});
vName = prompt("Enter dog name (leave blank to stop)");
vToyNum = prompt("Enter number of dog toys (leave blank to stop)");
}
var vOutput = "Dog names and No. of toys:" + displayDog(arr);
var toyTot = 0;
for (var val=0; val < arr.length; val++) {
toyTot += Number (arr[val].toynum);
}
vOutput += "<br/><br/>Total number of toys: " + toyTot;
document.getElementById("output").innerHTML= vOutput;
}
function displayDog(arr) {
var vOutput = "";
for (var val = 0; val < arr.length; val++) {
vOutput += "<br/> Dog " + (val + 1) +" "+ arr[val].name
+ ", No. of toys " + arr[val].toynum;
}
return vOutput;
}
の可能性のある重複した[Javascriptを、どのように複数の列に配列をソートしますか?](https://stackoverflow.com/questions/2784230/javascript-how-do-you-並べ替え複数の列に) – Andreas
あなたはどのような順序が必要ですか?名前asc、おもちゃasc otおもちゃasc、名前asc? –
私は名前ascと、おもちゃの別の例の例を挙げたいと思います。 –