JavaScript修改数组对象text字段:非末项加逗号末项加句号
JavaScript数组指定项追加标点实现方案
核心逻辑:遍历数组时判断当前元素索引,非最后一项的text字段末尾追加英文逗号,最后一项的text字段末尾追加英文句号。
写法1:不修改原数组(推荐,无副作用)
使用map方法遍历生成新数组,不会改动原始数据,适合需要保留原数组内容的场景:
const arr = [ { id: 1, text: "123" }, { id: 2, text: "456" }, { id: 3, text: "789" }, ]; const result = arr.map((item, index, list) => { return { ...item, text: item.text + (index === list.length - 1 ? '.' : ',') } });
运行后result就是符合预期的处理结果,原arr保持不变。
写法2:直接修改原数组
如果不需要保留原始的text值,可以直接遍历修改原数组,性能开销更低:
const arr = [ { id: 1, text: "123" }, { id: 2, text: "456" }, { id: 3, text: "789" }, ]; for (let i = 0; i < arr.length; i++) { arr[i].text += i === arr.length - 1 ? '.' : ','; }
运行后原arr就会被直接修改为目标结构。
注意:如果业务场景中
text字段本身可能已经携带末尾标点,可以在追加前先做末尾标点的去除判断,避免出现重复标点的问题。
内容的提问来源于stack exchange,提问作者akeera
相关产品推荐
相关产品推荐

