array的扩展api设计hash

有的时候我们需要将两个数组合并成类似HashMap结构的对象,这个对象的组成是把第一个数组作为key,第二个数组作为value

 

说明:第一个参数是必须的,第二个参数如果未定义的话,目前可以设置为true(或者你认为的其他值)。

 

简单讲述一下思想吧:

                              1、因为返回值的是一个对象,预先定义一个返回的obj

                              2、因为是拿第一个数组的作为key,所以遍历的length按照第一个数组的length来

                              3、在遍历过程中,往预先定义的obj里面装第二个数组的值,这边就需要判断一下两个数组的长                                        度,不够的话用true或者其他的值去代替

 

 

/*
*hash-merge the two arrays into an obj like hashMap*
*@param {Array} keys---the first array as the key*
*@param {Array} values---the second array as the value
*@remark(if values.length <keys.length will set true)*
*@return {Object} o----the merged object {key:value}*
*@remark(use the first array as the key;if the second array is not defined,we use true)*
*/
ZYC.array.hash = function(keys,values){
       var obj = {},
             _lengthOfV = values && values.length,
             _lengthOfK = keys.length,
            i;
       for(i=0;i<_lengthOfK;i++){
            obj[keys[i]] = (_lengthOfV && _lengthOfV > i) ? values[i] : true;
        }
       return obj;
}
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值