• 数组课堂笔记



    // var arr = [1, 2, 3, true]; // 一维数组
    // var arr2 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]; // 二维数组
    // arr[4] = 4; // 数组的动态添加,之前学了push方法
    // arr[arr.length] 等价于 arr.push
    // var arr = [1,,,2,,] // 最后一个逗号后如果没有值,会被忽略
    // arr.forEach // 用来遍历数组的元素,接受一个函数对象的参数,arr有多少个元素,函数就执行多少次
    // 范例:
    // arr.forEach(function (ele) {
    // console.log(ele);
    // });
    // 补充说明:
    // 1. 侵入式方法是指调用完该方法之后,源数组也被改变
    // 2. 非侵入式方法是指调用完该方法之后,源数组不变
    // arr.map // (侵入式) 用来映射数组里面的元素,并返回一个新的数组
    // 范例:
    // var newArr = arr.map(function (ele) {
    // return ele + 100;
    // });
    // reverse // (非侵入式) 用来逆序
    // slice // (非侵入式) 切片,接收两个参数,第一个是开始下标(包含该元素),第二个是结束下标(不包含该元素)
    // filter // (非侵入式) 过滤
    // 范例:
    // 要求过滤掉数组里面的偶数
    // var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
    // arr.filter(function (ele) {
    // /*
    // var result = (ele % 2 === 0);
    // if (result) {
    // return false;
    // }
    // else {
    // return true;
    // }
    // */
    // // 和上面被注释的代码是等价的
    // return ele % 2 !== 0;
    // });
    // concat // 合并数组
    // 范例:
    // var arr1 = [1, 2, 3], arr2 = [4, 5, 6];
    // var arr3 = arr1.concat(arr2); // [1, 2, 3, 4, 5, 6]


    /*
    every // 用来判断数组中的每一个元素是否都满足某个条件,类似于逻辑与(且)
    范例:
    // 判断所有学生是否都及格了。
    var arr = [56, 60, 80, 90, 100];
    arr.every(function (e) {

    return e >= 60;

    });

    some // 用来判断数组中是否有某个元素满足条件,类似于逻辑或
    范例:
    // 判断是否有满分的学生
    var arr = [56, 60, 80, 90, 100];
    arr.some(function (e) {

    return e === 100;

    });

    reduce // 用来将数组中的元素归纳为一个值
    范例:
    // 计算学生总分
    var arr = [56, 60, 80, 90, 100];

    arr.reduce(function (a, b) {

    return a + b;

    });

    reduceRight // 同reduce唯一的区别就是从右往左拿,其他功能保持一致

    Array.isArray // 判断某个对象是否为数组,true:是, false:否
    范例:
    var arr = [1, 2, 3, 4, 5];
    Array.isArray(arr); // 返回true
    var str = "abc";
    Array.isArray(str); // 返回true

    indexOf // 用来查找某个元素在该数组中的下标,从左往右,找到第一个为止,若找不到则返回-1
    范例:
    var arr = ["a", "b", "c", 3, "b", 2, 1, "b", 3, 5,"b", 6];
    arr.indexOf("b"); // 返回1
    arr.indexOf("b", 2); // 返回4
    arr.indexOf("b", -7); // 返回7
    lastIndexOf // 同indexOf唯一的区别就是从右往左找,其他功能保持一致
    */

  • 相关阅读:
    视觉(9)争取快点看完基于图论的立体匹配算法
    STL笔记(2) STL之父访谈录
    视觉(7)Computer vision from Wikipedia
    *NIX工具使用(1) Vim notes
    STL笔记(1)map
    AI杂谈(1) 你喜欢ML里的哪些模型?希望ML未来向什么方向发展?
    AI杂谈(3): dodo:人脸识别方法个人见解(zz from prfans)
    AI杂谈(2)请教支持向量机用于图像分类
    视觉(3)blepo
    windows编程(2)深入探讨MFC消息循环和消息泵
  • 原文地址:https://www.cnblogs.com/dower/p/9036353.html
Copyright © 2020-2023  润新知