配列要素をパラメータとして関数に渡したいとします。パラメータを配列要素として渡す
私は配列を持ち、配列にはColumn1とColumn2要素があります。 私のコードは、配列をcolumn1またはcolumn2に従ってソートしています。 今、1と2の値をパラメータとして渡しています。私のソートコードにif条件があります。
私は次のように自分のコードを変更したい:
function sortGrid(ColumnName)
と
var val1 = a.ColumnName.toLowerCase()
あなたが何か提案はありますか?
コード:
<html lang="">
<body>
<script>
var arr = [{"Column1":"A","Column2":"F"},{"Column1":"Z","Column2":"B"}];
function sortGrid(col) {
arr.sort(function (a, b) {
if (col == 1)
{
var val1 = a.Column1.toLowerCase();
var val2 = b.Column1.toLowerCase();
};
if (col == 2)
{
var val1 = a.Column2.toLowerCase();
var val2 = b.Column2.toLowerCase();
};
if (val1 < val2)
return -1
if (val1 > val2)
return 1
});
}
sortGrid(1)
console.log(arr[0].Column1)
console.log(arr[1].Column1)
console.log('-------------------')
sortGrid(2)
console.log(arr[0].Column1)
console.log(arr[1].Column1)
</script>
</body>
</html>
'a.ColumnName'(これはうまく動作しません)の代わりに、' a [ColumnName] 'を実行します:これは動的な方法です。 – trincot
ありがとうございます。それは働いている。 – Grcn