JavaScript如何用reference数组替换blank数组的下划线占位符
JavaScript 实现reference数组填充blank数组占位符逻辑
实现逻辑
- 先将reference数组所有元素拼接为完整的待插入字符串
- 遍历blank数组,将其中唯一的
_占位符替换为待插入字符串 - 将替换完成的blank数组所有元素拼接为完整字符串返回
完整代码示例(保持原有的全局blank变量写法)
const reference = ['this is', 'a beautiful', 'car']; const blank = ['I know', '_']; function fillBlank(reference) { const ref = reference.join(' '); if(blank.length) { // 遍历替换占位符后拼接返回 return blank.map(item => item === '_' ? ref : item).join(' '); } else { return ref; } } console.log(fillBlank(reference)) // 输出:I know this is a beautiful car
不同占位符位置的测试结果
- 当
blank = ['_', 'I know']时,输出:this is a beautiful car I know - 当
blank = ['I know', '_', 'right?']时,输出:I know this is a beautiful car right?
通用性优化方案
建议将blank作为函数入参传入,避免依赖外部全局变量,提升复用性:
function fillBlank(reference, blank) { const ref = reference.join(' '); return blank.length ? blank.map(item => item === '_' ? ref : item).join(' ') : ref; } // 调用示例 const reference = ['this is', 'a beautiful', 'car']; console.log(fillBlank(reference, ['I know', '_'])) console.log(fillBlank(reference, ['_', 'I know'])) console.log(fillBlank(reference, ['I know', '_', 'right?']))
内容的提问来源于stack exchange,提问作者Sara Ree
相关产品推荐
相关产品推荐

