如何传递到该数组中对象的数组访问属性的排序方法的函数
how function that pass to sort method of array access property of object in that array?
function comParison(propertyName){
return function(obj1,obj2){
var value1 = obj1[propertyName];
var value2 = obj2[propertyName];
if (value1 < value2){
return -1;
}else id (value1 > value2){
return1;
}else{
return 0;
}
}
};
var data = [{name:n1},{name:n2}];
data.sort(comParison("name"));
这将比较名称,但是comParison函数如何访问名称属性以及为什么它必须作为字符串传递?
上面的例子是基于闭包的。一步一步大致是这样的:
-
comParison
函数接受propertyName
作为参数 - 在
comParison
中创建的匿名函数,该函数可以访问propertyName
和comParison
中的其他所有内容(以及全局变量(。 - 然后,此匿名函数作为排序函数返回
- 当调用此匿名函数时,由于闭包,它仍然可以访问
propertyName
变量,因此能够访问obj[propertyName]
希望这能说清楚一点。
另一个有用的答案。
相关文章:
- 将图像数组访问到动态表中
- JavaScript 自包含函数数组访问自我索引
- 如何使用 angularjs 从 json 数组访问数组
- 带逗号的 JavaScript 数组访问
- JavaScript 数组访问问题
- 从 js obj 数组访问外部 js obj 属性
- 如何从数组访问 json 对象
- Javascript-使用索引数组访问数组的元素
- Javascript 全局数组访问成员未定义
- javascript成对值数组访问
- 如何传递到该数组中对象的数组访问属性的排序方法的函数
- 我怎么能给我的属性的默认数组访问传入的jQuery对象在我的插件
- Javascript数组访问不能在IE 7中工作
- 在Mustache.js / ICanHaz中从内部数组访问外部数组值
- Ajax JSON数组——访问信息
- 如何从存储在变量中的数组访问键?
- 通过JSON AJAX数组访问数据->对象
- 使用数组访问多维数组
- Javascript数组访问未定义
- 如何从单击处理程序中的对象数组访问对象属性