JS 数组转对象,JS 对象转数组
【代码】JS 数组转对象,JS 对象转数组。
·
JS数组转对象
// 原始数据
const arr = [{ label: 'title_one', val: '参数值1' }, { label: 'title_two', val: '参数值2' }];
// 转成以下格式:
obj = { title_one: '参数值1', title_two: '参数值2' };
方法
/** 数组转对象
* @param {Object} e 原始数组
* @param {Object} key 键
* @param {Object} val 值
*/
arrTransferObj(e, key, val) {
return e.reduce((obj, item) => {
obj[item[key]] = item[val];
return obj;
}, {}); // 数组的reduce方法,使数组的obj初始值为{},将数组中每一个对象所需的值,分别作为对象中的键与值
}
简写
/** 数组转对象
* @param {Object} e 原始数组
* @param {Object} key 键
* @param {Object} val 值
*/
arrTransferObj(e, key, val) {
// 数组的reduce方法,使数组的obj初始值为{},将数组中每一个对象所需的值,分别作为对象中的键与值
return e.reduce((obj, item) => ((obj[item[key]] = item[val]), obj), {});
}
使用方法
const arr = [{ label: 'title_one', val: '参数值1' }, { label: 'title_two', val: '参数值2' }];
console.log(this.arrTransferObj(arr, 'label', 'val'));
JS对象转数组
// 原始数据
obj = { title_one: '参数值1', title_two: '参数值2' };
// 转成以下格式:
const arr = [{ label: 'title_one', val: '参数值1' }, { label: 'title_two', val: '参数值2' }];
方法
/** 对象转数组
* @param {Object} e 原始数组
* @param {Object} key 键
* @param {Object} val 值
*/
objTransferArr(e, key, val) {
let result = [];
for (let item in e) {
result.push({
[key]: item,
[val]: e[item]
});
}
return result;
}
使用方法
const obj = { title_one: '参数值1', title_two: '参数值2' };
console.log(this.objTransferArr(obj, 'label', 'val'));
更多推荐
已为社区贡献18条内容
所有评论(0)