ES5 数组Array 字符串String Object的方法

//es5数组新方法 在forEach filter里用return true 没用的会一直循环 但在some里return true只要满足条件了就中止循环
        var nums = [1, 3, 14, 5, 2, 15, 11]
        nums.forEach((value, index, arr) => { //参数数组元素值 元素索引  数组  
            console.log(index, value, arr)
        })
        var newNums = nums.filter((value, index, arr) => { //过滤返回满足条件的元素数组 
            return value > 4
        })
        console.log(newNums) //[14, 5, 15, 11]
        newNums = nums.map((value, index, arr) => { //对数组进行相关操作返回新数组 
            return value * 2
        })
        console.log(newNums) //[2, 6, 28, 10, 4, 30, 22]
        newNums = nums.some((value, index, arr) => { //查找 数组是否有满足条件的元素有则返回true否则返回false  
            return value > 14
        })
        console.log(newNums) //true
        newNums = nums.every((value, index, arr) => { //查找 数组每个元素是否都满足条件有则返回true否则返回false  false
            return value > 14
        })
        console.log(newNums) //false
            //String 方法 trim() startsWith() endsWith() charAt() indexOf() lastIndexOf() subString()
            //Object 方法
        var person = {
            name: 'test',
            age: 12,
            addr: 'henan'
        }
        console.log(Object.keys(person)) //["name", "age", "addr"]
            //对象添加新属性 及修改属性
            //方法1
        person.email = '3434534@qq.com'
        person.name = "user"
        console.log(person)//{name: "user", age: 12, addr: "henan", email: "3434534@qq.com"}
            //方法2 没有相关属性就添加 有则修改
        Object.defineProperty(person, 'qq', {
            value: '14587445',
            writable: false, //是否允许修改
            enumerable: false, //是否允许属性遍历(显示)
            configurable:false //是否允许删除
        })
        
        console.log(Object.keys(person))//["name", "age", "addr", "email"]
        console.log(person)//{name: "user", age: 12, addr: "henan", email: "3434534@qq.com"}
        delete person.name

  

posted @ 2020-05-11 11:16  howhy  阅读(242)  评论(0)    收藏  举报