gpt4 book ai didi

javascript - 使我的函数更具可重用性的技巧

转载 作者:行者123 更新时间:2023-11-28 16:55:01 25 4
gpt4 key购买 nike

任何指导或教育将不胜感激。

我有一系列产品名称 - 有很多冗余和随机短语。

我认为我会很聪明,创建小的辅助函数来提取非必要的短语,同时,我正在涉足"new"(对我来说)数组功能。

但是,我陷入了困境,我不知道如何以最有效的方式进行。

let sku = base_arr.map(function(word) {
let result = (check_regex(word, regex_sku)) ? extract_regex(word, regex_sku) : word;
return result;
});
let age = sku.map(function(word) {
let result = (check_regex(word, regex_age)) ? extract_regex(word, regex_age) : word;
return result;
});

如果我添加更多辅助函数(例如删除空格)并且不按顺序执行它们。

我的数组开始取消之前的一些工作。

我尝试将代码包装在函数中,而不是压缩为小函数表达式。然而,这似乎不起作用。

例如:

function extract_sku(arr) {
return arr.map(function(word) {
let result = (check_regex(word, regex_sku)) ? extract_regex(word, regex_sku) : word;
return result;
});
};

但是,当我想应用第二个辅助函数时,我得到了一个未定义的消息。

console.log(extract_sku(extract_whitespace(base_arr)))

根据我正在处理的数组,我不知道要应用哪些辅助函数。

我的做法是错误的吗?我是否应该编写一个函数来封装所有这些(也许是 this.extract_sku = function()),将基本数组复制到临时数组,然后使用 splice?

任何指导都会非常有帮助!

最佳答案

您只需传递一个正则表达式数组即可按顺序替换并获取所需的结果

function extract(base_arr,regex_arr){
let result;
for(regex in regex_arr){
base_arr.map(function(word) {
result = (check_regex(word, regex)) ? extract_regex(word, regex) : word;
}
}
return result;
}

然后要在您的示例案例中获得所需的结果,您应该调用

let age = extract(base_arr, [regex_sku, regex_age]);

您也可以将正则表达式数组设置为全局变量

let ageRegex = [regex_sku, regex_age];

还有一个函数 getAge();

  function getAge(base_arr) {
return extract(base_arr,ageRegex);
}

关于javascript - 使我的函数更具可重用性的技巧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59371065/

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