实现过程

初始化函数

1、定义字符串变量str,初始值为"

2、执行添加表头函数

3、执行添加表格部分

4、字符串变量添加table尾标签"

"

5、将str显示在页面div内

body实现代码

 

CSS实现代码

table{      border-collapse: collapse;      width: 1000px;}td,th{      text-align: center;      border: 1px solid #000000;}img{      width: 20px;      height: 20px;}

js实现代码

//创建对象型数组,并为每个对象设置属性var data = [        {checked:true, id: 1001, icon: "img/pic11.png", name: "餐饮0", num: 1, price: 10 },        {checked:true, id: 1002, icon: "img/pic12.png", name: "餐饮1", num: 1, price: 20 },        {checked:false, id: 1003, icon: "img/pic13.png", name: "餐饮2", num: 1, price: 30 },        {checked:true, id: 1004, icon: "img/pic14.png", name: "餐饮3", num: 1, price: 40 },        {checked:false, id: 1005, icon: "img/pic15.png", name: "餐饮4", num: 1, price: 50 },        {checked:true, id: 1006, icon: "img/pic16.png", name: "餐饮5", num: 1, price: 60 },        {checked:false, id: 1007, icon: "img/pic17.png", name: "餐饮6", num: 1, price: 70 },        {checked:false, id: 1008, icon: "img/pic18.png", name: "餐饮7", num: 1, price: 80 },        {checked:false, id: 1009, icon: "img/pic19.png", name: "餐饮8", num: 1, price: 90 },        {checked:true, id: 1010, icon: "img/pic20.png", name: "餐饮9", num: 1, price: 100 }];        //   对象型数组创建表格    //执行初始化函数init();    //定义初始化函数function init(){        //定义字符串初始值为table前标签,之后str字符串内容全部添加完成后,直接在页面中插入字符串        var str="

"; //添加表格头部将执行完函数后的返回值赋予str str=createHead(str); //添加表格部分,将执行完函数后的返回值赋予str str=createTable(str); //添加table尾标签 str+=""; // console.log(str); //str显示在页面div标签内 var divs=document.getElementById("divs"); divs.innerHTML=str;} //定义创建表格头部函数function createHead(str){ //首先添加行标签,加至str str+=""; //获取数组内第一个对象并赋值给obj var obj=data[0]; //循环遍历第一个对象里的属性 for(var prop in obj){ //添加表头th前标签 str+=""; //循环遍历到checked属性,就直接添加一个input标签,这里暂不完成全选功能 if(prop==="checked"){ str+="" }else{ //否则将直接添加属性名 str+=prop; } //添加表头尾标签 str+=""; } //添加行标签尾标签 str+=""; //将添加完表头的str返回 return str;} //定义添加表格函数,传入形参strfunction createTable(str){ //循环遍历数组 for(var i=0;i"; //获取数组当前元素(对象) var obj=data[i]; //循环遍历当前对象 for(var prop in obj){ //为表格添加单元格标签 str+=""; // str+=obj[prop]; // 执行这个方法就是给一个td中添加内容 // str就是当前单元格到现在位置的所有字符串 // prop当前单元格对于的那个属性名 // obj是当前单元格相对这个对象 str=addElement(str,prop,obj); str+=""; } str+=""; } return str;} //定义单元格添加内容函数function addElement(str,prop,obj){ //判断对象里的属性属于哪一种类型 switch(prop){ //如果是icon属性,为单元格添加图片 case "icon": str+="" break; //如果是checked属性,添加input标签类型为checkbox,根据数组内对象checked属性值判断input是否选中 case "checked": str+="" break; //如果不是上述两种属性,则添加对应属性值 default: str+=obj[prop]; } //将添加后的str返回 return str;}

js 数组头部添加_javaScript 为对象型数组创建表格相关推荐

  1. js 数组从头添加到数组_如何从头开始实现JavaScript数组方法

    js 数组从头添加到数组 介绍 (Introduction) JavaScript includes several functions for working with arrays that go ...

  2. 精讲js数组的添加、删除、截取、合并、拷贝

    1.将一个或多个新元素添加到数组结尾,并返回数组新长度​ arrayObj. push();```js var array3 =[1,2,3,4,5]; //添加元素到数组的最后 返回新数组的长度 v ...

  3. js 数组 实现 完全树_JavaScript的工作原理:解析、抽象语法树(AST)+ 提升编译速度5个技巧

    摘要: JS的"编译原理". 原文:JavaScript的工作原理:解析.抽象语法树(AST)+ 提升编译速度5个技巧 作者:前端小智 Fundebug经授权转载,版权归原作者所有 ...

  4. 微信小程序js数组中插入“新数据对象”,数据对象中插入“新属性”

    动态添加数据对象或数据对象中的属性 动态添加数据对象 此处展示的是自己之前写的一个分页功能中,动态添加数据对象到已有的数组中. var tmpArr = that.data.tickets; tmpA ...

  5. JS 数组动态添加键值对

    // 方法 // 数组.push({[动态添加的键]:动态添加的值this.form.colors.push({['value']:this.inputValue})//一次传两个键值对arr.pus ...

  6. js数组中添加新元素,如果没有则添加

    直接先全部添加,再去重

  7. js数组循环删除元素或对象

    for(var i=0,flag=true,len=attrList.length;i<len;flag ? i++ : i){if( attrList[i]&&(attrLis ...

  8. js 中添加php数组元素,JS数组添加元素方法总结

    本篇文章介绍了如何向JS数组中添加新的元素,分别使用不同的几种方法去给JS数组添加元素,数组在JS中是很常用的数据类型之一,而对数组进行操作这是我们必会的基础之一. 下面我们来看一下有哪些方法可以对J ...

  9. js数组中常见的方法

    在js里面有许多对数组进行处理的方法,下面介绍一下常用方法 push()方法,作用:在数组尾部添加入一个或多个数据,返回数组的新长度 实例: <script>var arr = [1,2, ...

最新文章

  1. JS中相等运算符 == 隐式转换
  2. data.frame 转化为数值型_DataFrame(3):DataFrame的创建方式
  3. 创建型模式(一):FactoryMethod ( 工厂方法 )
  4. how is Java Bean object created
  5. Java设计模式笔记(4)模版方法模式
  6. react-native无法在react-native-gesture-handler中解析符号android.support.v4.util.Pools解决方案...
  7. 视觉传达对中职计算机教育影响,自考视觉传达设计毕业论文:平面设计专业信息化教学资源库建设...
  8. 基于visual Studio2013解决C语言竞赛题之1054抽牌游戏
  9. 伪装Apache版本防止入侵Web服务器
  10. java生成pdf417条形码_python生成417条形码(PDF417)详解
  11. 查看MD04结果的程序 Production Planning - Extract data from MRP Table
  12. 贴片晶振的脚位方向如何区分
  13. qt5.6 mysql_qt 5.6 找不到 mysql 驱动解决
  14. Idling along, (or what to do in the idle task)
  15. 一般试卷的纸张大小是多少_试卷,考试试卷是多大的纸
  16. 【RGBCW五路调光投光灯照明方案】 共阳极无频闪调光驱动IC 内置MOS降压恒流LED驱动芯片FP7122
  17. linux命令字典式总结(按用途分类)
  18. java:从左至右显示“12345678”,接着显示“23456781”,在接着显示“34567812”,一直到“81234567”, 然后返回“12345678”
  19. 微信小程序怎么做圆角头像
  20. vue2.0 - layout组件(五)SideBar和Main页面布局

热门文章

  1. Java基础——枚举类的使用教程
  2. 自编码 Autoencoder
  3. python从0到1_Python学习,从0到1
  4. 一种数据库打天下?开源数据库选型应该注意什么?
  5. 5场直播丨PostgreSQL、openGauss、Oracle、GoldenDB、EsgynDB
  6. 换个角度思考勒索攻击事件
  7. 云小课 | DSC:快速识别敏感数据并脱敏
  8. 手把手教你在Modelarts平台上进行视频推理
  9. SecSolar:为代码“捉虫”,让你能更专心写代码
  10. IAP:物联网终端软件升级技术