使用JavaScript解析网址
JavaScript 解析 网址 使用
2023-09-11 14:19:18 时间
使用JavaScript解析网址成为json结构格式
看到一个面试题,主要是将下列的网址问号后面的部分解析成json结构格式的对象
URL :'http://item.taobao.com/item.htm?a=1&b=2&c=&d=xxx&e’
解析后:{ a: ‘1’, b: ‘2’, c: ’ ', d: ‘xxx’, e: undefined }
var str = 'http://item.taobao.com/item.htm?a=1&b=2&c=&d=xxx&e'
// {a:’1′, b:’2′, c:”, d:’ xxx’, e:undefined}
var arr = str.split('?')[1];
var arr1 = arr.split('&');
var obj = {};
console.log(arr)
for (var i = 0; i < arr1.length; i++){
// console.log(arr1[i])
if(arr1[i].indexOf('=') != -1){
var newArr = arr1[i].split('=')//使用split对数组中的 = 进行分割,获取到一个新的数组
// console.log(newArr)
obj[newArr[0]] = newArr[1]; //将newArr这个数组中的第一个值作为键,第二个值作为值,组成键值对放入obj对象中
}else{
// console.log(arr1[i])
obj[arr1[i]] = undefined;
}
}
console.log(obj) //{ a: '1', b: '2', c: '', d: 'xxx', e: undefined }
// res = JSON.stringify(obj);//转化为JSON字符串
这个题主要考验面试者对数组和对象以及split( )的使用熟练度,当然也需要一点逻辑思维,难度上面对于新手来说可能会有点难度,但是逻辑思维比较敏捷的程序员来写却是非常简单的,总之一句话,熟能生巧,多写多练。
相关文章
- JavaScript
- 《javascript模式》 容易踩中的那些坑
- Android中WebView如何加载JavaScript脚本
- javascript显示年月日时间代码显示电脑时间
- [Javascript] Wait for Multiple JavaScript Promises to Settle with Promise.allSettled()
- [Javascript] Convert a Callback-Based JavaScript Function to a Promise-Based One
- [Javascript] Delegate JavaScript (ES6) generator iteration control
- [Javascript] Identify and Deal with NaN in JavaScript
- [Javascript] Proper use of console.assert in JavaScript
- [Javascript] Prototype 2 Object.create()
- [Javascript] Safely Access a Property on a JavaScript Array with Optional Chaining
- [Javascript] Broadcaster + Operator + Listener pattern -- 15. Create a Sequence of Broadcasters
- [Javascript] Convert a Callback-Based JavaScript Function to a Promise-Based One
- [Javascript] Delegate JavaScript (ES6) generator iteration control
- Javascript 事件propagation机制
- 使用JavaScript调用Microsoft XMLDOM库进行XML字符串的解析
- atitit.javascript js 上传文件的本地预览
- 一段简单的JavaScript代码,模拟Angular数据绑定信息的解析和替换
- 从零开始学_JavaScript_系列(17)——dojo(6)(声明一个类declare)
- web前端框架Javascript开发基础之JavaScript作用域
- WhatWeb使用——可识别Web技术,包括内容管理系统(CMS),博客平台,统计/分析包,Javascript库,服务器和嵌入式设备
- VectorDraw web library javascript Crack
- Web前端 | JavaScript(BOM编程和JSON)
- web前端Javascript开发学习之JavaScript中的预编译如何进行