我正在使用 JS 并且有一个问题,我有两个字符串,例如:
var test = "This is a {feature1} and {feature2} boy.";
var data = "This is a very good and smart boy.";
Run Code Online (Sandbox Code Playgroud)
考虑到任何包含在其中的单词都是{}变量,替换变量的适当值将转换test为data.
问题陈述是如果问题有解决方案,我们需要找到每个单词的值,否则从方法返回false。
所以,在上面的例子中,我们有一个返回值
{
feature1: 'very good',
feature2: 'smart'
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已经尝试了下面的代码,虽然它似乎可以工作,但这个操作似乎有点复杂。
var test = "This is a {feature1} and {feature2} boy.";
var data = "This is a very good and smart boy.";
Run Code Online (Sandbox Code Playgroud)
任何人都可以建议一些更简单的方法或对实现的任何修改吗?
toString()当我们尝试使用console.logstatement or打印对象时,我试图模仿 Java 的行为来调用该方法alert。
目前,我已经尝试过类似的东西
class Some {
constructor(array = []) {
this.pvtData = array;
}
toString = () => JSON.stringify(this.pvtData);
}
const s = new Some([1, 2, 3]);
console.log(s);Run Code Online (Sandbox Code Playgroud)
预期的输出应该是
[1,2,3]
Run Code Online (Sandbox Code Playgroud)
但是,我得到的输出为
{
"toString": () => JSON.stringify(this.pvtData),
"pvtData": [
1,
2,
3
]
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮助我解决问题并获得所需的输出吗?
注意:
我不想使用console.log(s.toString());. 基本上,console.log声明不应该改变。