5.6

106 阅读1分钟
<script>

    // let a = { name:'ace'};
    // let b = a;
    // b.name = 'aec'
    // b= { name:'aec'}
    // console.log(a,b);

    let arr = [
        {
            name: 'a',
            age: 20
        },
        {
            name: 'b',
            age: 30
        },
        {
            name: 'c',
            age: 40
        }
    ]
    //遍历
    arr.forEach(item => { item.gander = '男' })
    console.log(arr);
    //通过旧数组映射新数组
    console.log(arr.map(item => "姓名:" + item.name));
    console.log(arr.map(item => "年龄:" + item.age));
    //过滤筛选
    console.log(arr.filter(item => item.age >= 30));
    //是否存在
    console.log(arr.some(item => item.age === 20));
    //是否全部都是
    console.log(arr.every(item => item.gander === '男'));
    //统计操作
    console.log(arr.reduce((total, current) => total + current.age, 0));

    console.log(Math.round(Math.random())?'男':'女');

    let obj = {
        length:3
    }
    var arr1 = Array.from(obj)
    console.log(arr1);
    
    var arr2 = Array.from({
        length:3
    }).map((item,index)=>({
        id:index+1,
        name:'用户'+index,
        age:Math.floor(Math.random*50),
        gander:Math.round(Math.random())?'男':'女'
    }))
    console.log(arr2);
    
    let aaa = "bbb"
    let age = 20

    let obj1 = {
        aaa,//aaa:aaa
        age//age:age
    }
    console.log(obj1);

    let obj2 = {
        a:10,
        b:20
    }
    //解构,从对象中取同名属性的值
    let{a,b} = obj2
    console.log(a,b);// console.log(obj2.a,obj2.b)

    let arr3 = [1,2,3,4]
    let [,d,e] = arr3
    console.log(d,e);// console.log(arr3[1],arr3[2])
    
    //展开运算符:...
    let aa = {
        name:"bb",
        age:20
    }

    let bb = {
        ...aa,// name:aa.name,age:aa.age
        gander:'男'
    }
    console.log(bb);
    console.log(...[1,2,3]);
    
    function test(...arr4) {
        console.log(arr4.reduce((a,b)=>a+b));
    }
    test(1,2,3,4,5)

    function cc(age=20) {//(age=20):默认值,没有传参就用默认值
        console.log(age);
    }
    cc()
    cc(30)
</script>