for循环遍历json(附习题及答案)
三种方法
var mapColumn = {
"vdoing" : "访问深度",
"_visitorNumber": "访问量",
"_pageViews": "浏览量",
"_jumpOutRate": "跳出率",
"_avgAccessTime": "平均访问时长",
"_allTargetConvRate": "转化率",
"_orderTotalPrice": "总收益"
};
一、原生
var target=[];
var targetl=[];
for (var key in mapColumn) {
target.push(key);
targetl.push(mapColumn[key]);
}
console.log(target);
console.log(targetl);

二、Jquery
var m_list = [];
var m_lists = [];
var m_listall = [];
$.each(mapColumn,function(key,value){
m_list.push(key); //获取所有的key
m_lists.push(value); //获取所有的value
m_listall.push({ //获取拼接
title:key,
name:value
})
})
console.log(m_list);
console.log(m_lists);
console.log(m_listall);

三、ES6字符串拼接
<div class="part1"></div>
var data = [{
"vdoing" : "访问深度",
"_visitorNumber": "访问量",
"_pageViews": "浏览量",
"_jumpOutRate": "跳出率"
},{
"vdoing" : "访问深度1",
"_visitorNumber": "访问量1",
"_pageViews": "浏览量1",
"_jumpOutRate": "跳出率1"
}];
for (var i = 0; i < data.length; i++) {
/*es6模板字符串*/
$(".part1").append(`<div>
<span title="${data[i].vdoing}">${data[i].vdoing}</span>
<span title="${data[i]._visitorNumber}">${data[i]._visitorNumber}</span>
<span title="${data[i]._pageViews}">${data[i]._pageViews}</span>
<span title="${data[i]._jumpOutRate}">${data[i]._jumpOutRate}</span>
</div>`);
}

从别的地方看到的不错的习题,实际工作中也常用到
一、从某数据库接口得到如下值:
{
rows: [
["Lisa", 16, "Female", "2000-12-01"],
["Bob", 22, "Male", "1996-01-21"]
],
metaData: [
{name: "name", note: ''},
{name: "age", note: ''},
{name: "gender", note: ''},
{name: "birthday", note: ''}
]
}
rows是数据,metaData是对数据的说明。现写一个函数,将上面的Object转化为期望的数组:
[
{name: "Lisa", age: 16, gender: "Female", birthday: "2000-12-01"},
{name: "Bob", age: 22, gender: "Male", birthday: "1996-01-21"},
]
答案:两种,for循环和reduce
var temparry = [];
var result = [];
for (var k = 0; k < data.metaData.length; k++) {
var a = data.metaData[k].name;
temparry.push(a);
}
for (var i = 0; i < data.rows.length; i++) {
var ob = {};
for (var j = 0; j < temparry.length; j++) { var name = temparry[j];
ob[name] = data.rows[i][j];
}
result.push(ob); }
console.log(result);
var result = data.rows.reduce(function(prev1, cur1) {
console.log('prev1:' + prev1);
console.log('cur1:' + cur1);
prev1.push(data.metaData.reduce(function(prev, cur, index) {
prev[cur.name] = cur1[index];
return prev;
}, {}))
return prev1;
}, []);
//console.log(result);
//console.log(result[0]);
//console.log(result[1]);
二、数组
a = [
{id: 10001, name: "Lisa", age: 16},
{id: 10002, name: "Bob", age: 22},
{id: 10003, name: "Alice", age: 20},
];
数组
b = [
{id: 10001, gender: "Female"},
{id: 10002, name: "Bob King", birthday: "1996-01-22"},
{id: 10005, name: "Tom", birthday: "2000-01-01"},
];
写一个函数按id用b更新a,期望得到的结果为:
[
{id: 10001, name: "Lisa", age: 16, gender: "Female"},
{id: 10002, name: "Bob King", birthday: "1996-01-22", age: 22},
{id: 10003, name: "Alice", age: 20},
{id: 10005, name: "Tom", birthday: "2000-01-01"},
]
这个自己写吧,不附答案了
for循环遍历json(附习题及答案)的更多相关文章
- JS 循环遍历JSON数据 分类: JS技术 JS JQuery 2010-12-01 13:56 43646人阅读 评论(5) 收藏 举报 jsonc JSON数据如:{"options":"[{
JS 循环遍历JSON数据 分类: JS技术 JS JQuery2010-12-01 13:56 43646人阅读 评论(5) 收藏 举报 jsonc JSON数据如:{"options&q ...
- Vue之循环遍历Json数据,填充Table表格
简单记一次Vue循环遍历Json数据,然后填充到Table表格中,展示到前端的代码: async getData(id) { const res = await this.$store.api.new ...
- 高效遍历匹配Json数据与双层for循环遍历Json数据
工作中往往遇到这种情况,保留用户操作痕迹,比如用户选择过得东西,用户进入其它页面再返回来用户选择的的数据还在. 比如:1.购物车列表中勾选某些,点击任意一项,前往详情页,再返回购物车依旧需要呈现勾选状 ...
- 使用for in循环遍历json对象的数据
使用for in遍历json对象数据,如果数据中的名称有为数字的话,只对正整数有效,那么先会输出为正整数的数据,后面其他的会按照原来数据中定义的顺序不变输出. 针对名称为数字的json对象数据进行测试 ...
- Json格式循环遍历,Json数组循环遍历
Json格式数据如何遍历,这里我们可以用for..in实现 例如最简单的json格式 , 'handsome' : 'yes' }; for( var key in json1 ){ console. ...
- JS 循环遍历JSON数据
JSON数据如:{"options":"[{/"text/":/"王家湾/",/"value/":/" ...
- juery中循环遍历json数组
var dataList=[]; var stock0={stockcode:"007758",stockname:"商业政7",state:"1&q ...
- JS 循环遍历json
第一 看看json的格式 { "employees": [ { "firstName":"Bill" , "lastName&q ...
- JS循环遍历JSON数据的方法
JSON数据如:{"options":"[{/"text/":/"王家湾/",/"value/":/" ...
随机推荐
- 几道关于this的经典练习题的理解与分析
1. var num = 1; var myObject = { num: 2, add: function() { this.num = 3; (function() { console.log(t ...
- 跳过爱奇艺优酷vip
1.google chrome浏览器 2.下载插件安装 Tampermonkey https://pan.baidu.com/s/1qvRQD2UO6gPHogjtSUBwUw 将 ...
- Android开发 输入法调用学习
方法一(如果输入法在窗口上已经显示,则隐藏,反之则显示) InputMethodManager imm = (InputMethodManager) getSystemService(Context. ...
- DOS命令大全【转】
见到网络上,觉得值得学习,特此收藏到这里,因为我几乎天天来这个网站 net use \\ip\ipc$ " " /user:" " 建立IPC空链接 net u ...
- JOIN方法也是连贯操作方法之一
JOIN方法也是连贯操作方法之一,用于根据两个或多个表中的列之间的关系,从这些表中查询数据. 大理石平台规格 join通常有下面几种类型,不同类型的join操作会影响返回的数据结果. INNER JO ...
- ios与android设备即时语音互通的录音格式预研说明
本文虽属原创,但是内容都是来自于网络,参考了大家的微博,以及论坛的总结. 在做语音对讲的时候,将会碰到录制语音格式的问题,因为要考虑自己开发设备的支持的格式,还要考虑其他设备操作系统的支持的格式,以及 ...
- LintCode_389 判断数独是否合法
题目 请判定一个数独是否有效. 该数独可能只填充了部分数字,其中缺少的数字用 . 表示. 注意事项 一个合法的数独(仅部分填充)并不一定是可解的.我们仅需使填充的空格有效即可. 说明 什么是 数独? ...
- samba初级使用记录
首先安利一下什么是samba: Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在 ...
- Docker系列(十一):Kubernetes集群集群部署实践
Kubernetes分布式集群架构 服务注册和服务发现问题怎么解决的? 分布式通讯的核心就是ip加端口 每个服务分配一个不变的虚拟IP+端口 系统env环境变量里有每个服务的服务名称到IP的映射 如下 ...
- AppScan的基础使用
AppScan是用于Web项目的安全测试工具,扫描网站所有url,自动测试是否存在各种类型的漏洞.AppScan安装在Windows环境上,版本越高,规则库越安全,扫描越全面. 1. 打开AppS ...