三种方法

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(附习题及答案)的更多相关文章

  1. JS 循环遍历JSON数据 分类: JS技术 JS JQuery 2010-12-01 13:56 43646人阅读 评论(5) 收藏 举报 jsonc JSON数据如:{&quot;options&quot;:&quot;[{

    JS 循环遍历JSON数据 分类: JS技术 JS JQuery2010-12-01 13:56 43646人阅读 评论(5) 收藏 举报 jsonc JSON数据如:{"options&q ...

  2. Vue之循环遍历Json数据,填充Table表格

    简单记一次Vue循环遍历Json数据,然后填充到Table表格中,展示到前端的代码: async getData(id) { const res = await this.$store.api.new ...

  3. 高效遍历匹配Json数据与双层for循环遍历Json数据

    工作中往往遇到这种情况,保留用户操作痕迹,比如用户选择过得东西,用户进入其它页面再返回来用户选择的的数据还在. 比如:1.购物车列表中勾选某些,点击任意一项,前往详情页,再返回购物车依旧需要呈现勾选状 ...

  4. 使用for in循环遍历json对象的数据

    使用for in遍历json对象数据,如果数据中的名称有为数字的话,只对正整数有效,那么先会输出为正整数的数据,后面其他的会按照原来数据中定义的顺序不变输出. 针对名称为数字的json对象数据进行测试 ...

  5. Json格式循环遍历,Json数组循环遍历

    Json格式数据如何遍历,这里我们可以用for..in实现 例如最简单的json格式 , 'handsome' : 'yes' }; for( var key in json1 ){ console. ...

  6. JS 循环遍历JSON数据

    JSON数据如:{"options":"[{/"text/":/"王家湾/",/"value/":/" ...

  7. juery中循环遍历json数组

    var dataList=[]; var stock0={stockcode:"007758",stockname:"商业政7",state:"1&q ...

  8. JS 循环遍历json

    第一  看看json的格式 { "employees": [ { "firstName":"Bill" , "lastName&q ...

  9. JS循环遍历JSON数据的方法

    JSON数据如:{"options":"[{/"text/":/"王家湾/",/"value/":/" ...

随机推荐

  1. JS流程控制语句 多重判断满足你各种需求 要在多组语句中选择一组来执行,使用if..else嵌套语句。

    多重判断(if..else嵌套语句) 要在多组语句中选择一组来执行,使用if..else嵌套语句. 语法: if(条件1) { 条件1成立时执行的代码} else if(条件2) { 条件2成立时执行 ...

  2. xcart-子分类/语言不显示

    由于数据库的版本不同,表名会区分大小写的情况,这样就导致xcart语言相关的信息显示不出来,此时只需更改根目录下的init.php文件,如下: 改成小写的就OK了.

  3. Python-基本运算符与流程控制

    目录 基本运算符 算术运算符 比较运算符 赋值运算符 逻辑运算符 身份运算符 位运算符 成员运算符 运算符优先级 流程控制 if 判断 单分支结构 双分支结构 多分支结构 while 循环 while ...

  4. Ubuntu GitHub操作——分支、合并与标签

    分支 分支是用来将特性开发绝缘开来的.在你创建仓库的时候,master 是"默认的"分支.在其他分支上进行开发,完成后再将它们合并到主分支上. 创建一个叫做"featur ...

  5. 箭头函数报错:Add @babel/plugin-proposal-class-properties (https://git.io/vb4SL) to the 'plugins' section of your Babel config to enable transformation.

    解决:根目录新建babel.config.js加入如下内容 module.exports = { presets: [ "@babel/preset-env", "@ba ...

  6. <b> <i> 标记

    <b></b> bold 加粗 <i></i> italic 斜线 : 对应Word文档的 I   斜体 <u></u>unde ...

  7. 使用HTTP代理

    HTTP代理服务器可以比作客户端与Web服务器网站之间的一个信息中转站,客户端发送的HTTP请求和Web服务器返回的HTTP响应通过代理服务器转发给对方, 爬虫程序在爬取某些网站的时候也需要使用代理, ...

  8. Elasticsearch & Kibana with Shield

    Elasticsearch & Kibana with Shield   官方网站: https://www.elastic.co/guide/en/kibana/current/produc ...

  9. tensorflow+inceptionv3图像分类网络结构的解析与代码实现

    tensorflow+inceptionv3图像分类网络结构的解析与代码实现 论文链接:论文地址 ResNet传送门:Resnet-cifar10 DenseNet传送门:DenseNet SegNe ...

  10. 浪潮云+/云加 App 智能化的企业移动办公平台官网下载地址

    上Google?Facebook? 点这里: 手机端:https://ecm.inspur.com/ 桌面端:https://ecm.inspuronline.com/