【发布时间】:2016-11-18 20:02:24
【问题描述】:
我想将一个数组元素作为参数传递给我的函数。
我有一个数组,我的数组有 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(这不起作用):这是动态的方式。 -
非常感谢。它正在工作。
标签: javascript arrays function parameter-passing