有一个文本框,要在光标的位置上插入内容。
const userInputStr = "1234567";
const pos = 3;
首先想到substring
let resultStr =
userInputStr.substring(0, pos) + 'xiaodun' + userInputStr.substring(pos);
不得不说,这里的pos
指的是 3 和 4 中间位置,不是很直观...
用splice
let resultStr = [...userInputStr].splice(pos, 0, 'xiaodun').join("");
然后坑就来了,splice
会改变原数组,返回包含被删除项目的新数组,如果有的话。
在Console
面板中不太容易被察觉...
最终代码
const userInputStr = '1234567';
const pos = 3;
let list = [...userInputStr];
list.splice(pos, 0, 'xiaodun');
let resultStr = list.join('');
虽然直接对比多了个list
变量 和 一行代码,一些情况下还是适用的。
网友评论