gpt4 book ai didi

javascript - 在两个参数中使用替换逻辑

转载 作者:行者123 更新时间:2023-11-30 20:59:55 26 4
gpt4 key购买 nike

我基本上需要做一些替换逻辑来更改“。”到这里的 '>' 一切都很好,我可以使用 javascript 中的 replace 方法,但我正在寻找最好的方法。

基本上我只会将此函数用于 1 个特定任务,我想对我的 Name 属性和对象内部的描述执行此替换逻辑,所以我需要传递它而不是执行替换的简单方法两次下降。

此刻我重复了这个:element.Name.replace('.', ' > ')

我创建了一个方法,但我认为最好的方法可能是将它传递给像这样的函数:replaceMethod(firstProp,secondProp) 每个 prop 都被替换了,所以我怎么能在replace 方法只是将相同的逻辑应用于我的所有参数,而不使用无用的 for 循环?

像这样:

replaceMethod(firstProp,secondProp) {
allArgs.replace('.', ' > ')
}

我这样做了:

callerFunc() {
// service get the object material, it has a name and description with '.'
replaceMethod(material,material.Name,material.Description)

//在使用 Material 的方法之后做一些逻辑

    replaceMethod(material,...keys) {
keys.forEach(k => material[k] = material[k].replace(/\./g, ' > '));
}

最佳答案

在 ES6 中,你可以使用 rest parameters ...用于收集所有参数。

function replaceMethod(...keys)  {
keys.forEach(k => object[k] = object[k].replace(/\./g, ' > '));
}

var object = { name: 'foo.bar.baz', town: 'st.peter' };

replaceMethod('name', 'town');

console.log(object);

使用 arguments object 的 ES5 .

function replaceMethod()  {
Array.prototype.forEach.call(arguments, function (k) {
object[k] = object[k].replace(/\./g, ' > ');
});
}

var object = { name: 'foo.bar.baz', town: 'st.peter' };

replaceMethod('name', 'town');

console.log(object);

关于javascript - 在两个参数中使用替换逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47239257/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com