gpt4 book ai didi

javascript - 将动态字符串传递给对象

转载 作者:行者123 更新时间:2023-12-02 18:51:14 26 4
gpt4 key购买 nike

是否可以以某种方式将参数传递给对象?

类似于,

const messages = (str1, str2){
1: `${str1} is not the same as ${str2}`,
2: 'message2',
3: 'message3',
4: 'message4',
5: 'message5',
6: 'message6',
}

const validateInput = ({ str1 = '', str2 = '' }) => {
if (str1 !== str2) {
console.log(messages[1](str1, str2))
}
}

validateInput('a', 'b')

我不是在寻找类似的东西,

const message = (str1, str2) => `${str1} is not the same as ${str2}`

我很想知道这是否可以专门用一个对象来完成。

最佳答案

您可以为所有消息和内部函数获取一个对象,该对象返回带有消息的字符串,具体取决于移交的字符串。

const messages = {
1: (str1, str2) => `${str1} is not the same as ${str2}`,
2: (str1, str2) => 'message2',
3: (str1, str2) => 'message3',
4: (str1, str2) => 'message4',
5: (str1, str2) => 'message5',
6: (str1, str2) => 'message6',
};

const validateInput = (str1 = '', str2 = '') => {
if (str1 !== str2) {
console.log(messages[1](str1, str2))
}
}

validateInput('a', 'b');

如果你先调换调用messages的顺序(先带参数,再按数字),那么只需要一个函数。

const messages = (str1, str2) => ({
1: `${str1} is not the same as ${str2}`,
2: 'message2',
3: 'message3',
4: 'message4',
5: 'message5',
6: 'message6',
});

const validateInput = (str1 = '', str2 = '') => {
if (str1 !== str2) {
console.log(messages(str1, str2)[1])
}
}

validateInput('a', 'b');

关于javascript - 将动态字符串传递给对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60222779/

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