首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我想从给定的url查询参数值。我可以将这段代码减少到一行吗?或者,有没有其他更好的方法来做同样的事情?

我想从给定的url查询参数值。我可以将这段代码减少到一行吗?或者,有没有其他更好的方法来做同样的事情?
EN

Stack Overflow用户
提问于 2017-08-07 14:06:36
回答 3查看 40关注 0票数 0

代码语言:javascript
运行
复制
const _ = require('lodash');

const url = `https://myWeb.com/abc/def/?xyz=sdfgkjhg&myName=javascript&status=married&sex=male&age=25`;
const queryParam = url.split('&');

let start = _.filter(queryParam,(param) =>{
  return _.includes(param,'start');
});

startIndex = _.split(startIndex, '=')[1];
console.log("=========="+start);

EN

回答 3

Stack Overflow用户

发布于 2017-08-07 14:36:06

使用url库

代码语言:javascript
运行
复制
var urlPackage = require('url');
var url_parts = urlPackage.parse(url, true);
var query = url_parts.query;

现在您可以访问任何varaible查询。例如

代码语言:javascript
运行
复制
console.log(query.myName); // it will print javascript
票数 0
EN

Stack Overflow用户

发布于 2017-08-07 15:01:29

代码语言:javascript
运行
复制
var query = 'https://myWeb.com/abc/def/?xyz=sdfgkjhg&myName=javascript&status=married&sex=male&age=25'.split('?')[1].split('&')
var final = query.reduce((m,p)=>{
     p = p.split('=');
     m[p[0]] = p[1]
     return m
   },{})
console.log('***',final);   
票数 0
EN

Stack Overflow用户

发布于 2017-08-08 06:55:52

您可以使用RegExp解析url,将结果Array#map到一个由参数名称和参数值对组成的数组,并从该数组创建一个Map。现在,您可以使用paramsMap.get('paramName')从映射中获取任何参数值。

代码语言:javascript
运行
复制
const url = `https://myWeb.com/abc/def/?xyz=sdfgkjhg&myName=javascript&status=married&sex=male&age=25`;

const paramsMap = new Map(url.match(/[^?&=]+=[^&=]+/g).map(s => s.split('=')));
  
console.log(paramsMap.get('status'));

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45540347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档