gpt4 book ai didi

JavaScript - 拆分多个返回值

转载 作者:行者123 更新时间:2023-12-03 02:40:52 25 4
gpt4 key购买 nike

我正在构建一个搜索过滤器。之前一切正常,因为我们一次只允许使用 1 个过滤器。所以我会得到这样的返回:

var returnVal = "&filterName=filterProperty"
var filterFields = returnVal.split(['=']);
var filterCategory = filterFields[0];
var filterCatSplit = filterCategory.substr(1);
var filterTitle = filterFields[1];

<h4>filter title</h4>
<ul>
<li>filter one</li>
</ul>

我只需获取 returnVal 并在“=”处将其拆分

现在我们将允许多个值,但我不确定如何将它们全部放在页面上的一个漂亮列表中。现在,returnVal 可以如下所示:

var returnVal = "&sizeFilterName=filterProperty,filterPropery&colorFilterName=filterProperty,filterProperty"

我现在需要像这样返回(或类似的东西)

<h4>Size Filter Name</h4>
<ul>
<li>Size Filter One</li>
<li>Size Filter Two etc</li>
</ul>

<h4>Color Filter Name</h4>
<ul>
<li>Color Filter One</li>
<li>Color Filter Two etc</li>
</ul>

我以前从未需要分割和切片这么多变体。我有点失落。我希望这足以让我了解我正在尝试做什么。

谢谢!

最佳答案

您可以将 returnVal 传递给 URLSearchParams(),然后通过 "," 将值传递给 .split()使用返回的数组执行任务

let returnVal = "&sizeFilterName=filterProperty,filterPropery&colorFilterName=filterProperty,filterProperty";
let params = Array.from([...new URLSearchParams(returnVal)]
, ([key, value]) => [key, value.split(",").filter(Boolean)]);
// do stuff with `params`
params.forEach(([key, value]) =>
document.body.insertAdjacentHTML("beforeend", `<h4>Size ${key}</h4>
<ul>
${value.map(prop => `<li>Color ${prop}</li>`).join("")}
</ul>`)
);

关于JavaScript - 拆分多个返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48331419/

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