阅读:8046 次 编辑日期:2014-01-21
{ "name_a":{"price":100}, "name_b":{"price":400}, "name_c":{"price":200}, "name_d":{"price":300} }
<p>名称:name_a价格100 </p> <p>名称:name_c价格200</p> <p>名称:name_d价格300</p> <p>名称:name_b价格400</p>
var data = { "name_a":{"price":100}, "name_b":{"price":400}, "name_c":{"price":200}, "name_d":{"price":300} }; var num ; var num2 ; var arr1 = [];//把价格放进一个数组 var arr2 = [];//把排序完成的放进一个数组 var htmls = [];//把DOM结构放进一个数组 var node ; //转换成字符串的数组存放 var wrap ;//插入DOM节点的ID var length; //数组长度 function auto(data){ //拿出价格放进数组 for(num in data){ arr1.push(data[num].price); } //对数组进行排序 function com(a,b){ if(a > b){ return 1; }else if( a < b){ return -1; }else{ return 0; } } arr2 = arr1.sort(com); //获取数组长度 length = arr2.length; //循环排好序的数组,与对象中的价格比较,如果相同则取属性名称 for(var i = 0; i < length; i++){ for(var num2 in data){ if(data[num2].price == arr2[i]){ htmls.push('名称:' + num2+ '价格' + arr2[i] + '
'); } } } //把数组转换成字符串 node = htmls.join(""); //设置DOM节点ID wrap = document.getElementById("wrap"); //插入DOM节点 wrap.innerHTML = node; } auto(data);