ECMAScript 6(ES6) 操作

151 阅读1分钟

(1) forEach()

Array.forEach(function (r, i) {})
r 表示每一个对象,i 表示每一个对象的索引。
return可以终止程序,但不会有返回值。 不能使用breakcontinue
forEach() 对于空数组是不会执行回调函数的。

(2) map()

可以把数组里某一项合成一个数组,可以 return,有返回值。
原数组不会改变。

    <script>
        let arr = [{
            name: '戴森',
            price: 1000
        }, {
            name: '美的',
            price: 2000
        }, {
            name: '格力',
            price: 3000
        }];
        let arr2 = arr.map(function (r, i) {
            return r.name
        })
        console.log(arr2);
        // 控制台显示:['戴森', '美的', '格力']
    </script>
复制代码

(3) find()

循环数组找到第一个符合条件的一项(原数组里的成员),找到第一个之后立即终止循环。

    <script>
        let arr = [{
            name: '戴森',
            price: 1000
        }, {
            name: '美的',
            price: 2000
        }, {
            name: '格力',
            price: 3000
        }];
        let obj = arr.find(function (r, i) {
            return r.name='美的'
        })
        console.log(obj);
        // 控制台显示:{name: '美的', price: 1000}
    </script>
复制代码

(4) filter()

回调函数里 return 一个条件,会返回一个符合条件的新数组。原数组不会改变。

    <script>
        let arr = [{
            name: '戴森',
            price: 1000
        }, {
            name: '美的',
            price: 2000
        }, {
            name: '格力',
            price: 3000
        }];
        let arr3 = arr.filter(function (r, i) {
            return r.price > 1500
        })
        console.log(arr3);
        // 控制台显示:[{"name": "美的", "price": 2000},{"name": "格力","price": 3000}]
    </script>
复制代码

2. 属性名和值一样,可以省略

        let pagenum = 1;
        let pagesize = 10;
        let query = '';
        function init() {
            let params = {
                pagenum,
                pagesize,
                query
            }
            ......
        }
复制代码

3. 对象解构

// 对象
const student = {
    name: 'Sam',
    age: 22,
    sex: '男'
}
// ES5;
const name = student.name;
const age = student.age;
const sex = student.sex;
console.log(name + ' --- ' + age + ' --- ' + sex);
// ES6
const { name, age, sex } = student;
console.log(name + ' --- ' + age + ' --- ' + sex);