如何在JavaScript中利用对象内的数组生成目标格式新数组
JavaScript实现方案:转换嵌套数组对象为目标格式数组
核心实现代码
直接利用数组的map方法,结合索引对应两个内部数组的元素进行拼接:
const oldArray = [ { names: ["all", "breakfast", "lunch", "dinner"], length: [346, 24, 6, 99] } ]; // 提取目标对象的两个数组 const { names, length } = oldArray[0]; // 生成目标格式数组 const newArray = names.map((name, idx) => `${name} (${length[idx]})`); console.log(newArray); // 输出结果:["all (346)", "breakfast (24)", "lunch (6)", "dinner (99)"]
健壮性优化(可选)
如果需要处理names和length数组长度不一致的情况,可以添加默认值处理:
const newArray = names.map((name, idx) => { // 当length对应位置无数据时,默认显示0 const count = length[idx] ?? 0; return `${name} (${count})`; });
实现逻辑说明
- 从
oldArray中解构出第一个对象的names和length数组 - 遍历
names数组时,利用当前元素的索引idx,匹配length数组对应位置的数值 - 通过模板字符串拼接成
"名称 (数值)"的格式,最终生成目标数组
内容的提问来源于stack exchange,提问作者Abdullah Al Kaisan
相关产品推荐
相关产品推荐

