我想将一个数组元素作为参数传递给我的函数。将参数传递为数组元素
我有一个数组,我的数组有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