• 30秒js练习(数组篇) 更新中。。。


    #all

    判断集合中的数据是否都满足某个条件,然后做数据处理。

    const all = (arr, fn = Boolean) => arr.every(fn);
    
    all([4, 2, 3], x => x > 1); // true
    all([1, 2, 3]); // true

    #allEqual

    判断数组里的数据是否都和第一个元素相同

    const allEqual = arr => arr.every(val => val === arr[0]);
    
    allEqual([1, 2, 3, 4, 5, 6]); // false
    allEqual([1, 1, 1, 1]); // true

    #any

    如果提供的谓词函数对集合中的至少一个元素返回true,则返回true,否则返回false。

    const any = (arr, fn = Boolean) => arr.some(fn);
    
    any([0, 1, 2, 0], x => x >= 2); // true
    any([0, 0, 1, 0]); // true

     #arrayToCSV

    将2维(2d)数组转换为逗号分隔值CSV类型字符串。

    const arrayToCSV = (arr, delimiter = ',') =>
      arr
        .map(v => v.map(x => (isNaN(x) ? `"${x.replace(/"/g, '""')}"` : x)).join(delimiter))
        .join('
    ');
    
    arrayToCSV([['a', 'b'], ['c', 'd']]); // '"a","b"
    "c","d"'
    arrayToCSV([['a', 'b'], ['c', 'd']], ';'); // '"a";"b"
    "c";"d"'
    arrayToCSV([['a', '"b" great'], ['c', 3.1415]]); // '"a","""b"" great"
    "c",3.1415'

    #bifurcate

    将值分成两组。如果filter中的元素为true,则集合中对应的元素属于第一组;否则,它属于第二组。

     #findLast

    返回通过filter过滤的最后一个元素。

    const findLast = (arr, fn) => arr.filter(fn).pop();
    
    findLast([1,2,3,4], n => n%2 === 1) //3

    #  flatten

    自定义配置数组扁平化的程度

    const flatten = (arr, depth = 1) =>
      arr.reduce((a, v) => a.concat(depth > 1 && Array.isArray(v) ? flatten(v, depth - 1) : v), []);
    
    flatten([1, [2], 3, 4]); // [1, 2, 3, 4]
    flatten([1, [2, [3, [4, 5], 6], 7], 8], 2); // [1, 2, 3, [4, 5], 6, 7, 8]
  • 相关阅读:
    myEclipse环境下配置springMvc项目,进行简单的请求
    自记录:git如何上传文档到git@osc
    java UDP网路编程
    Dom解析xml源代码
    SAX解析XML文件实例代码
    javaFile循环列出指定目录下的所有文件(源代码)
    javaIO流实现读写txt文件
    Java类之间的关联关系(转载)
    Python基本语法
    Python3.4入门之ifelse错误解决方案
  • 原文地址:https://www.cnblogs.com/w-819/p/10725742.html
Copyright © 2020-2023  润新知