美文网首页
es6之数组循环和对象的方法

es6之数组循环和对象的方法

作者: 前端许 | 来源:发表于2021-12-08 17:36 被阅读0次

    <select name="" id="">

            <option value="">是否已婚</option>

            <option value="0">未婚</option>

            <option value="1">已婚</option>

        </select>

        <button onclick="query()">查询</button>

        <table border="1">

            <tr>

                <th>姓名</th>

                <th>年龄</th>

                <th>是否已婚</th>

            </tr>

        </table>

        <script src="./js/jquery-1.12.4.js"></script>

        <script>

            /* yh:0未婚 1已婚 */

            let arr = [{

                name:"张三",

                age:18,

                yh:0,

                arr01:{

                    car:'宝马',

                    color:'白色'

                }

            },{

                name:"李四",

                age:30,

                yh:1,

                arr01:{

                    car:'奔驰',

                    color:'红色'

                }

            },{

                name:"王五",

                age:28,

                yh:0,

                arr01:{

                    car:'保时捷',

                    color:'黄色'

                }

            },{

                name:"李丽",

                age:35,

                yh:1,

                arr01:{

                    car:'法拉利',

                    color:'绿色'

                }

            }];

            /* 第一次进入页面 渲染table */

            arr.forEach(r=>{

                $('table').append(`

                    <tr>

                        <td>${r.name}</td>

                        <td>${r.age}</td>

                        <td>${r.yh}</td>

                    </tr>

                `)

            })

            /* 点击查询的时候选择对应的数据 */

            function query(){

                let val = $('select').val();

                $('table').html(`

                <tr>

                    <th>姓名</th>

                    <th>年龄</th>

                    <th>是否已婚</th>

                </tr>`);

                let newArr = arr.filter(r=>r.yh==val);

                console.log(newArr);

                newArr.forEach(r=>{

                    $('table').append(`

                        <tr>

                            <td>${r.name}</td>

                            <td>${r.age}</td>

                            <td>${r.yh}</td>

                        </tr>

                    `)

                })

            }

            /* 传统方式 */

            /* for(let i=0;i<arr.length;i++){

                console.log(arr[i].name)

            } */

            /* for in 常用于遍历对象 数组也可以 key就是数组的索引*/

            /* for(let key in arr){

                console.log(arr[key].name)

            } */

            /* es6的另一个循环的方式 */

            /* val直接就是数组的每一个值 */

            /* for(let val of arr){

                console.log(val.name);

            } */

            /* es6的forEach 不能return */

            /* r表示数组的每个值 i代表索引 */

            /* arr.forEach( (r,i)=>{

                console.log(r,i);

            }) */

            /* es6的map方法 可以帮我们返回一个新数组 */

            /* let newArr = arr.map( (r,i)=>r.arr01); */

            /* 判断内容结果的布尔值数组 r.yh==1*/

            /* 返回一个姓名的新数组 =>r.name */

            /* console.log(newArr); */

            /* 新建一个json数组 循环 返回json数组的 全是姓名的新数组  */

            /* es6的数组方法之过滤 返回一个过滤后的新数组*/

            /* 返回一个已婚人数的新数组 */

            /* let newArr = arr.filter( r => r.yh==1 );

            console.log(newArr); */

            /* es6数组方法之some (一些的意思) 返回一个布尔值*/

            /* 重点 只有有一个符合条件 就返回true */

            /* let flag = arr.some(r=>r.yh==0);

            console.log(flag); */

            /* es6数组方法之every (每一个的意思) 返回一个布尔值 */

            /* 重点 只有有一个不满足条件 就返回false */

            /* let flag = arr.every( r => r.yh==0 );

            console.log(flag); */

            /* es6中对象的方法 */

            /* Object.keys() 返回一个全是key的新数组*/

            let obj = {

                car:"保时捷",

                color:"红色",

                price:"200w",

                zhuren:"韩老师"

            }

            /* let keysArr = Object.keys(obj); */

            /* console.log(keysArr); */

            /* Object.values() 返回全是对象的value的新数组*/

            /* let valArr = Object.values(obj);

            console.log(valArr); */

            /* 后台给我们数据(是一个对象) 有可能有 有可能没有

            我们怎么去判断呢?*/

            /* let l = Object.keys(obj).length;

            console.log(l);

            if(l){

                console.log(obj.zhuren)

            }else{

                console.log('后台数据有误')

            } */  

    相关文章

      网友评论

          本文标题:es6之数组循环和对象的方法

          本文链接:https://www.haomeiwen.com/subject/igvtfrtx.html