如何遍历对象并按":"分割生成多个独立对象
按分隔符拆分对象数组生成新对象
原始输入
{ labs: [1,2,":",3,4], level: [1,2,":",3,4] }
需求说明
将对象中每个属性对应的数组按":"分割,生成两个独立对象,预期输出:
{ labs: [1,2], level: [1,2] } { labs: [3,4], level : [3,4] }
实现代码(JavaScript)
// 原始对象 const originalObj = { labs: [1,2,":",3,4], level: [1,2,":",3,4] }; // 获取分隔符在数组中的索引(假设所有数组的分隔符位置一致) const splitIndex = originalObj.labs.indexOf(':'); // 初始化两个结果对象 const resultObj1 = {}; const resultObj2 = {}; // 遍历原始对象的属性,拆分数组并赋值 Object.keys(originalObj).forEach(key => { const currentArr = originalObj[key]; resultObj1[key] = currentArr.slice(0, splitIndex); resultObj2[key] = currentArr.slice(splitIndex + 1); }); // 打印结果 console.log(resultObj1); console.log(resultObj2);
补充说明
- 上述代码假设所有属性对应的数组中,分隔符
":"的位置一致;如果存在位置不同的情况,可在遍历每个属性时单独获取其分隔符索引。 - 如果数组中存在多个
":",代码会以第一个出现的分隔符为拆分点,若需按其他分隔符拆分,可调整indexOf的逻辑。
内容的提问来源于stack exchange,提问作者Moe
相关产品推荐
相关产品推荐

