https://mywebsite/products?category_ids=1&category_ids=3&category_ids=4&category_ids=11&category_ids=10048&category_ids=10785
這是我的帶有搜索模式的網址。現在我想過濾并獲取category_ids
輸出應該是:
[1, 3, 4, 11, 10048, 10785]
uj5u.com熱心網友回復:
這是一個單行:
console.log(new URL('https://mywebsite/products?category_ids=1&category_ids=3&category_ids=4&category_ids=11&category_ids=10048&category_ids=10785').searchParams.getAll('category_ids').map(Number));
參考:
URLURL.searchParamsURLSearchParams.getAll()Array.map()
uj5u.com熱心網友回復:
您可以使用正則運算式輕松實作結果
1)
const url =
"https://mywebsite/products?category_ids=1&category_ids=3&category_ids=4&category_ids=11&category_ids=10048&category_ids=10785";
const result = url
.split("?")[1]
.match(/(?<==)\d /g)
.map(Number);
console.log(result);
2)
const url =
"https://mywebsite/products?category_ids=1&category_ids=3&category_ids=4&category_ids=11&category_ids=10048&category_ids=10785";
const result = url
.split("?")[1]
.match(/=\d /g)
.map((s) => s.slice(1));
console.log(result);
uj5u.com熱心網友回復:
像這樣:
const urlParams = new URLSearchParams( window.location.search );
console.log( urlParams.getAll( 'category_ids' ) );
但是,如果您想在例如 PHP 中使用它,您將遇到問題。GET 變數將只包含最后一個值。如果您已經知道您正在傳遞陣列值,請在您的網址中使用 ?category_ids[]=1&category_ids[]=2 。
這樣你就可以通過
const urlParams = new URLSearchParams( window.location.search );
console.log( urlParams.getAll( 'category_ids[]' ) );
并通過這樣的 PHP
print_r( $_GET[ 'category_ids' ] );
(或考慮在您的 url 引數中使用逗號分隔串列)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/377980.html
標籤:javascript 数组
上一篇:警告:從具有不兼容回傳型別“float*”的函式回傳“float(*)[3]”
下一篇:具有未定義值的排序函式
