JavaScript Array 类型 2

检测数组

我们可以使用 Array.isArray() 方法判断一个对象是不是数组。

下面是一个简单的使用实例:

        var normalColors = ["red", "green", "blue"];
        normalColors[normalColors.length] = "black";
        normalColors[normalColors.length] = "white";

        console.log("normalColors is Array ? ", Array.isArray(normalColors));

输出结果:

输出结果

JavaScript Array 对象的其他方法可以参考这里

迭代方法

every() 对数组中的每一项运行给定函数,如果函数对每一项都返回 true,则返回 true。
filter() 对数组中的每一项运行给定函数,返回函数会返回 true 的项组成的数组。
forEach() 对数组中的每一项运行给定函数。该方法没有返回值。
map() 对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组。
some() 对数组中的每一项运行给定函数,如果该函数对任一项返回 true,则返回 true。

以上方法都不会修复数组中的现有项。

下面是使用实例:

        var numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];

        var everyResult = numbers.every(function(item, index, array){
            return item > 2;
        });
        console.log("everyResult: \t", everyResult);

        var someResult = numbers.some(function(item, index, array){
            return item > 2;
        });
        console.log("someResult: \t", someResult);

        var filterResult = numbers.filter(function(item, index, array){
            return item > 2;
        });
        console.log("filterResult: \t", filterResult);

        var mapResult = numbers.map(function(item, index, array){
            return item * 2;
        });
        console.log("mapResult: \t", mapResult);

        numbers.forEach(function(item, index, array){
            console.log("array"+index+": ", item, array[index]);
        });

输出结果:

输出结果
reduce 和 rightReduce 方法

使用实例:

        var numbers = [1, 2, 3, 4, 5];

        var sum = numbers.reduce(function(prevItem, curItem, index, array){
            console.log("prevItem & curItem: \t", prevItem, "&", curItem);
            return prevItem + curItem;
        });
        console.log("sum: \t", sum);

        sum = numbers.reduce(function(prevItem, curItem, index, array){
            console.log("prevItem & curItem: \t", prevItem, "&", curItem);
            return prevItem + curItem;
        }, -10);
        console.log("sum: \t", sum);

        sum = numbers.reduce(function(prevItem, curItem, index, array){
            console.log("prevItem & curItem: \t", prevItem, "&", curItem);
            return prevItem + curItem;
        }, -5);
        console.log("sum: \t", sum);

输出结果:

输出结果

从输出结果我们就可以理解第二个参数的意义了。

rightReduce 方法从相反的方向执行。就不再举例了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,270评论 0 4
  • 本章内容 使用对象 创建并操作数组 理解基本的 JavaScript 类型 使用基本类型和基本包装类型 引用类型的...
    闷油瓶小张阅读 697评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,991评论 19 139
  • 睡不着的时候总想找人聊聊天,通讯录里的大家却不知道找谁。 1.总为工作乐总为工作忧 今天就说...
    朝暮与长情阅读 414评论 0 0
  • 如果你看过了我推荐的《雨果》,那么来看这部作品自然正常,因为我也是因为这个原因才真正意义上去关注这部伟大的科幻作品...
    影君子M阅读 919评论 0 3