我想將一個數組元素作爲參數傳遞給我的函數。將參數傳遞爲數組元素
我有一個數組,我的數組有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