javascript - js 怎样把一个keys数组和values数组合并成一个object
天蓬老师
天蓬老师 2017-04-11 12:31:40
[JavaScript讨论组]

js 怎样把一个keys数组和values数组合并成一个object

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(5)
迷茫
for(var i = 0; i < arrKey.length; i++){

   object[arrKey[i]] = arrValue[i];

}
大家讲道理

用json来存,如var obj={},obj[i].key='key',obj[i].value='value'

黄舟
function makeObject(keys, values) {
    let obj = {};
    
    keys.forEach((key, index) => {
        obj[key] = values[index];
    });
    
    return obj;
}
PHP中文网
var keys=['k1','k2','k3'],values=['v1','v2','v3'];
var obj={};
for(var i=0;i<keys.length;i++){
   obj[keys[i]]=values[i]
}
console.log(obj);
高洛峰
const ArraytoObj = (keys = [], values = []) => {
  if(keys.length === 0 || values.length === 0) return {}
  const len = keys.length > values.length ? values.length : keys.length
  // if you want save all the keys, and the value could be undefined, you can use keys.forEach function instead of for loop
  const obj = {}
  for(let i = 0; i < len; ++i) {
    obj[keys[i]] = values[i]
  }
    return obj
}

// test cases
expect(ArraytoObj(['ka', 'kb'], ['va', 'vb'])).to.eql({ ka: 'va', kb: 'vb' })
expect(ArraytoObj(['ka', 'kb', 'kc'], ['va', 'vb'])).to.eql({ ka: 'va', kb: 'vb' })
expect(ArraytoObj(['ka', 'kb'], ['va', 'vb', 'vc'])).to.eql({ ka: 'va', kb: 'vb' })
expect(ArraytoObj([], ['va', 'vb'])).to.eql({})
expect(ArraytoObj(['ka', 'kb'], [])).to.eql({})
expect(ArraytoObj()).to.eql({})
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号