js实现替换
字符串替换
在JavaScript中,字符串替换可以使用String.prototype.replace()方法。该方法接受两个参数:要替换的内容(可以是字符串或正则表达式)和替换后的内容。
let str = "Hello World";
let newStr = str.replace("World", "JavaScript");
console.log(newStr); // 输出: "Hello JavaScript"
全局替换
默认情况下,replace()方法只会替换第一个匹配项。要进行全局替换,需要使用正则表达式并加上g标志。
let str = "apple orange apple";
let newStr = str.replace(/apple/g, "banana");
console.log(newStr); // 输出: "banana orange banana"
正则表达式替换
正则表达式可以实现更复杂的替换模式,例如忽略大小写。
let str = "Apple apple";
let newStr = str.replace(/apple/gi, "orange");
console.log(newStr); // 输出: "orange orange"
函数替换
replace()方法还可以接受一个函数作为第二个参数,用于动态生成替换内容。
let str = "Price: $10";
let newStr = str.replace(/\$(\d+)/, (match, p1) => {
return `¥${p1 * 7}`; // 假设汇率是7
});
console.log(newStr); // 输出: "Price: ¥70"
数组元素替换
对于数组,可以使用Array.prototype.map()或Array.prototype.splice()方法进行元素替换。
// 使用map
let arr = [1, 2, 3];
let newArr = arr.map(item => item === 2 ? 4 : item);
console.log(newArr); // 输出: [1, 4, 3]
// 使用splice
let arr2 = [1, 2, 3];
arr2.splice(1, 1, 4);
console.log(arr2); // 输出: [1, 4, 3]
对象属性替换
对象属性的替换可以直接通过赋值操作完成。
let obj = {name: "Alice", age: 25};
obj.name = "Bob";
console.log(obj); // 输出: {name: "Bob", age: 25}
HTML元素内容替换
在DOM操作中,可以使用innerHTML或textContent属性替换元素内容。

document.getElementById("myElement").textContent = "New content";






