打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
记一次笔试题

1、求出1-2018中所有含8的数字,使用数组的reduce、map、filter方法,如1-10中:8;1-20中:8,18;

//生成0-2018的数组
var arr = Object.keys(Array.apply(null, {length:2019})).map(function(item){
return +item;
})
//删除0
arr.shift();
//使用filter加正则删选出含8的数字
var mid_result = arr.filter((res) => {
if(/[8]/.test(res)){
return res;
}
})
//利用reduce函数的arr参数求出数组中数的个数
var result = mid_result.reduce((data,currentVal,index,arr)=>{
return arr.length;
},0)

console.log(result);

最后拼凑着使用了三个方法,完成了这个题目,不知道题目我是不是没理解清楚,是必须用到这三个函数还是只用其中之一就可,如果只用reduce,也可以实现,如下

var arr = [];

for ( i = 1; i < 2019; i++ ){
arr.push(i);
}

var result = arr.reduce((sum,currentVal)=>{
if(/[8]/.test(currentVal)){
sum = sum+1;
}
return sum;
},0)

console.log(result);

2、解析url中的参数使之变成json字符串,并针对参数名按首字母进行排序

var url = 'name=jack&age=25&fav=basketball';
var url_0 = 'name=ross&age=18&fav=girl';

var getJson = function(a,b){
let resultArr = [];
let params = [a,b];
let result = {};
for (let i = 0; i<params.length; i++){
resultArr.push(urlParse(params[i]));
}
//json转字符串 JSON.parse()
//字符串转json
result = JSON.stringify(resultArr)
return result;
}

var urlParse = function(a){
let res = {}
//sort()函数进行首字母排序
let arr = a.split('&').sort();
for(let j = 0; j<arr.length; j++){
//判断参数有没有值
if(arr[j].indexOf('=') != -1){
let str = arr[j].split('=')
res[str[0]] = str[1];
}else{
res[arr[j]] = '';
}
}
return res;
}

console.log(getJson(url,url_0));
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
通过Jquery中Ajax获取json文件数据
python程序员带你深入解读ES6系列,让你浅显易懂
js数组转为json
「译」值得收藏的48个JavaScript代码片段,纯干货!
精心收集的 48 个 JavaScript 代码片段,仅需 30 秒就可理解!
JavaScript数组中的九类方法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服