2019.2.11至2019.2.16周复习(重点学习js中的map排序)

最近遇到了一个问题,是关于JavaScript中对数据进行map排序的问题。具体问题描述如下

有一个数组,数组中的包含很多个对象,对象中的key和value对应,并作为请求接口的参数进行拼接。要做的处理就是需要将这些对象中的key进行ASCII排序,然后再拼接成字符串作为请求接口的参数。

在JavaScript中的map是无序的,我们需要取出他们的key进行排列。然后再将他们拼接出来。

第一种方法
function displayDate(arr){
		var arr= [
    {name:"zhangsan",age:"12",sex:"f"},
    {name:"list",age:"12",sex:"m"}
]
console.log(arr);
	  for(var i=0;i<arr.length;i++){
        var keyArr = Object.keys(arr[i]).sort();
        var temp = "";
        for(var j=0;j<keyArr.length;j++){
            var key = keyArr[j];
            var value = arr[i][key];
			if(j != keyArr.length -1){
				temp += key+"="+value+"&";
			}else{
				temp += key+"="+value;
			}
            
        }
    }

    console.log(temp);
	document.getElementById("demo").innerHTML=temp;
}
第二种方法
function displayDate(){
	
	arr = [["orange", 10],["appple", 5], ["banana", 20], ["cherry", 13]];

	arr.sort(function(a,b) {
    return a[0]-b[0];
	});
	
	res = [];
	
	arr.map(function(item){
		res.push(item[0] + "=" + item[1]);
	})
	
	var str = "";
	res.map(function(item, index){
		if(index != res.length -1){
			str = str + item +"&";
		}
		else{
			str = str + item
		}
	});
	
	document.getElementById("demo").innerHTML= str;
}

以上就是主要的过程

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值