両方のパラメーターが同じ型である場合に、関数に与えられた構造化されていない複数の引数を使用する方法を知りたいです。
たとえば、次のコードがあるとします。
var items = [
{ name: 'Edward', value: 21 },
{ name: 'Sharpe', value: 37 },
{ name: 'And', value: 45 },
{ name: 'The', value: -12 },
{ name: 'Magnetic', value: 13 },
{ name: 'Zeros', value: 37 }
];
// sort by name
items.sort(function(a, b) {
var nameA = a.name.toUpperCase(); // ignore upper and lowercase
var nameB = b.name.toUpperCase(); // ignore upper and lowercase
if (nameA < nameB) {
return -1;
}
if (nameA > nameB) {
return 1;
}
// names must be equal
return 0;
});
ご覧のとおり、とオブジェクトのname
プロパティのみが関数で使用されています。では、オブジェクトの破壊を使用してコードを変更するには、次のようにします。a
b
items.sort(({name}, {name}) => {
// code to use
});