function resolveData(){
data.sort(function(a,b){
if(a.increment == b.increment){
return b.total - a.total;
}
return b.increment - a.increment;
});
for(var i = 0;i < data.length;i++){
insertULChild(convertHTML(data[i],i));
}
}
这个方法起什么作用,每行分别是什么意思
你把代码里的单词逐个翻译一遍基本都清楚了。
<ul id="test"></ul>
<script>
function resolveData(){//定义一个函数, 名字为 resolveData
data.sort(function(a,b){//使用自定义函数, 对 data 这个数组进行排序
if(a.increment == b.increment){//如果 数组中的两个对象的 increment 属性相等,
return b.total - a.total;//则根据 这对象的 total 属性来决定它们的顺序
}
return b.increment - a.increment;//否则在不相等的情况下, 根据 increment 来决定它们的顺序
});
for(var i = 0;i < data.length;i++){//遍历 data 数组
insertULChild(convertHTML(data[i],i));//因为你没有提供 convertHTML与insertULChild 这两个方法的代码
//所以这里只能猜了, 根据名字 convertHTML 应该是将数据转换为 HTML代码或者DOM节点的东东, 接收两个参数,一个是 数据, 一个是索引值
//insertULChild 的功能应该是将 convertHTML 返回的这个东东,插到某个UL里面
}
}
//下面的代码为根据 resolveData 推算出来的
var data = [
{increment: 2, total: 2},
{increment: 20, total: 22},
{increment: 20, total: 29},
{increment: 12, total: 5},
{increment: 204, total: 8},
{increment: 204, total: 18}
];
function convertHTML(obj, index){
var li = document.createElement('li');
li.innerHTML = index + '. ' + obj.increment + '--->' + obj.total;
return li;
}
function insertULChild(li){
document.getElementById('test').appendChild(li);
}
resolveData();
</script>