精华内容
下载资源
问答
  • ES6数组处理(map,reduce,filter,forEach)

    千次阅读 2018-08-06 23:04:04
    下面代码都是在浏览器控制台直接运行的,返回有一个undefined是因为(console....1.map(映射)  let arr = [1,2,4];  let arrs = arr.map(function(item){return item*2;});  console.log(arrs); 2,reduce(...

    下面代码都是在浏览器控制台直接运行的,返回有一个undefined是因为(console.log)没有返回值,如果没有返回值就返回undefined

    1.map(映射
        let arr = [1,2,4];
        let arrs = arr.map(function(item){return item*2;});
        console.log(arrs);

    2,reduce(汇总

    建议先看图


    let arr = [1,2,10,23];
        let result = arr.reduce(function(temp,item,index){
            if(index != arr.length-1 ){
               console.log(temp+item);
               return temp+item;
            }else{
                console.log((temp+item)/arr.length);
               return (temp+item)/arr.length;
            }
        });

    打印的3=1+2,13=3+10;9=(13+23)/4

     

    3.filter(过滤器
    let arr = [1,2,10,23];
        let result1 = arr.filter(item=>{if(item>9){return true;}else{return false;}});
        let result2 =arr.filter((item)=>item>9);
        console.log(result1);
        console.log(result2);


    let array1 = [
        {title:'clothes',price:67},
        {title:'skin',   price:12},
        {title:'atom',   price:34},
        {title:'iop',    price:45},
        ];

        let result4 = array1.filter(item=>{return item.price>44;});
        console.log(result4);

    4.forEach(迭代

    let arr = [1,2,10,23];
    arr.forEach((item,index)=>{console.log(index+1,item);});

     

     

     

     

     

     

     

     

    展开全文
  • 数组处理 array_map()

    2020-11-05 17:27:37
    array_map(function,array1,array2,array3...)返回用户自定义函数作用后的数组。回调函数接受的参数数目应该和传递给 array_map() 函数的数组数目一致。 示例:只有一个参数 <?php function myfunction($v) ...

    array_map(function,array1,array2,array3...)返回用户自定义函数作用后的数组。回调函数接受的参数数目应该和传递给 array_map() 函数的数组数目一致。

    示例:只有一个参数
    <?php
    function myfunction($v) 
    {
        if ($v==="Dog"){
        	return "Fido";
        }
        return $v;
    }
    $a = array("Horse","Dog","Cat");
    print_r(array_map("myfunction",$a));
    ?>
    
    输出:
    Array ( [0] => Horse [1] => Fido [2] => Cat )

    两个参数:

    <?php
    function myfunction($v1,$v2) 
    {
        if ($v1===$v2){
        	return "same";
        }
        return "different";
    }
    $a1 = array("Horse","Dog","Cat");
    $a2 = array("Cow","Dog","Rat");
    print_r(array_map("myfunction",$a1,$a2));
    ?>
    
    输出:
    Array ( [0] => different [1] => same [2] => different )

    自定义函数名设置为 null 时的情况:

    <?php
    $a1 = array("Dog","Cat");
    $a2 = array("Puppy","Kitten");
    print_r(array_map(null,$a1,$a2));
    ?>
    
    输出:
    Array (
    [0] => Array ( [0] => Dog [1] => Puppy )
    [1] => Array ( [0] => Cat [1] => Kitten )
    )

    使用闭包:

    
    <?php
    $a = [];
    $b = ["Horse","Dog","Cat"];
     
    array_map(function ($value) use (&$a){
        if($value==="Dog"){$a[] = $value;}
    },$b);
    print_r($a);
     
    $a1 = ["Horse","Dog","Cat"];
    $a2 = ["Cow","Dog","Rat"];
    $a3 = [];
    array_map(function ($v1,$v2) use (&$a3) {  
      if($v1==$v2){
          $a3[] = $v1;
      }
    },$a1,$a2);
    
    $c = ["Cow","Dog"];
    array_map(function ($v1) {
       return $v1.'--1'
    },$c);
    print_r($c);
    ?>
    
    输出:
    #$a
    Array ( [0] => "Dog" )
    #$a3
    Array ( [0] => "Dog" )
    #$c
    Array ( [0] => "Cow--1" [1] => "Dog--1")
    展开全文
  • 数组 flatMap 与 Map

    2019-12-05 11:10:08
    map 方法会给原数组中的每个元素都按顺序调用一次 callback 函数。callback 每次执行后的返回值(包括 undefined)组合起来形成一个新数组。 callback 函数只会在有值的索引上被调用;那些从来没被赋过值或者使用 ...

    map()

    • 创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。
    • map 方法会给原数组中的每个元素都按顺序调用一次  callback 函数。callback 每次执行后的返回值(包括 undefined)组合起来形成一个新数组。 callback 函数只会在有值的索引上被调用;那些从来没被赋过值或者使用 delete 删除的索引则不会被调用。
    • callback 函数会被自动传入三个参数:数组元素,元素索引,原数组本身。
    • 如果 thisArg 参数提供给map,则会被用作回调函数的this值。否则undefined会被用作回调函数的this值。this的值最终相对于callback函数的可观察性是依据the usual rules for determining the this seen by a function决定的
    • map 不修改调用它的原数组本身(当然可以在 callback 执行时改变原数组)

    求数组中每个元素的平方根

    var numbers = [1, 4, 9]
    var roots = numbers.map(item => {
        return Math.sqrt(item)
    })
    // roots的值为[1, 2, 3], numbers的值仍为[1, 4, 9]

    因为Math.sqrt只有一个参数,所以可简写为

    var numbers = [1, 4, 9]
    var roots = numbers.map(Math.sqrt)
    // roots的值为[1, 2, 3], numbers的值仍为[1, 4, 9]

    需要注意 parseInt 方法是有两个参数的

    ["1", "2", "3"].map(parseInt); // 期望输出 [1, 2, 3], 而实际结果是 [1, NaN, NaN].

    解决方法

    function returnInt(element) {
      return parseInt(element, 10);
    }
    
    ['1', '2', '3'].map(returnInt); // [1, 2, 3]

     使用 map 重新格式化数组中的对象

    var kvArray = [{key: 1, value: 10}, 
                   {key: 2, value: 20}, 
                   {key: 3, value: 30}];
    
    var reformattedArray = kvArray.map(function(obj) { 
       var rObj = {};
       rObj[obj.key] = obj.value;
       return rObj;
    });
    
    // reformattedArray 数组为: [{1: 10}, {2: 20}, {3: 30}], 
    
    // kvArray 数组未被修改: 
    // [{key: 1, value: 10}, 
    //  {key: 2, value: 20}, 
    //  {key: 3, value: 30}]

    Mapping 含 undefined的数组

    当返回undefined 或没有返回任何内容时:

    var numbers = [1, 2, 3, 4];
    var filteredNumbers = numbers.map(function(num, index) {
      if(index < 3) {
         return num;
      }
    });
    //index goes from 0,so the filterNumbers are 1,2,3 and undefined.
    // filteredNumbers is [1, 2, 3, undefined]
    // numbers is still [1, 2, 3, 4]

    flatMap() 

    使用映射函数映射每个元素,然后将结果压缩成一个新数组。

    • callback 可以生成一个新数组中的元素的函数,可以传入三个参数:
      • currentValue:当前正在数组中处理的元素
      • index:可选的。数组中正在处理的当前元素的索引。
      • array:可选的。被调用的 map 数组
    • thisArg:可选的。执行 callback 函数时 使用的this 值。
    • 返回值: 一个新的数组,其中每个元素都是回调函数的结果,并且结构深度 depth 值为1。

    map() 与 flatMap()

    var arr1 = [1, 2, 3, 4];
    
    arr1.map(x => [x * 2]); 
    // [[2], [4], [6], [8]]
    
    arr1.flatMap(x => [x * 2]);
    // [2, 4, 6, 8]
    
    // only one level is flattened
    arr1.flatMap(x => [[x * 2]]);
    // [[2], [4], [6], [8]]

    下面我们将包含几句话的数组拆分成单个汉字组成的新数组。

    let arr1 = ["it's Sunny in", "", "California"];
    
    arr1.map(x => x.split(" "));
    // [["it's","Sunny","in"],[""],["California"]]
    
    arr1.flatMap(x => x.split(" "));
    // ["it's","Sunny","in", "", "California"]

    注意,输出列表长度可以不同于输入列表长度。

    在一个 map() 期间增加或去除一些项

    • flatMap 能用于在map期间增删项目(也就是修改items的数量)。
    • 换句话说,它允许你遍历很多项使之成为另一些项(靠分别把它们放进去来处理),而不是总是一对一。
    • 从这个意义上讲,它的作用类似于 filter的对立面。只需返回一个1项元素数组以保留该项,返回一个多元素数组以添加项,或返回一个0项元素数组以删除该项。
    let a = [5, 4, -3, 20, 17, -33, -4, 18]
    //       |\  \  x   |  | \   x   x   |
    //      [4,1, 4,   20, 16, 1,       18]
    
    a.flatMap( (n) =>
      (n < 0) ?      [] :
      (n % 2 == 0) ? [n] :
                     [n-1, 1]
    )
    
    // expected output: [4, 1, 4, 20, 16, 1, 18]
    展开全文
  • controller: public R mylistBatchRemoveCustomer(@RequestParam("ids[]") Long[] customerIds,Long mylistId{ Map<String, Object> map = new HashMap<... //把数组放入Map集合,后台的数据仍是数组 ...

    controller:

    public R mylistBatchRemoveCustomer(@RequestParam("ids[]") Long[] customerIds,Long mylistId{
    	Map<String, Object> map = new HashMap<String, Object>();
    	//把数组放入Map集合,后台的数据仍是数组
    	List<Long> customerId = Arrays.asList(customerIds);
    				
    	map.put("customerId", customerId);
    	map.put("mylistId", mylistId);
    	mylistService.mylistBatchRemoveCustomer(map);
    	return R.ok();
    }

    Mapper:

    <delete id="mylistBatchRemoveCustomer"  parameterType="map">
    	delete from wdkh_mylist_relation where mylist_id = #{mylistId} and customer_id in 
    	<foreach item="item" collection="customerId" open="(" separator="," close=")">
    		#{item}
    	</foreach>
    </delete>

     

    展开全文
  • JS数组的函数map()

    2021-07-19 17:04:14
    1.map() map函数相当于对某一个数组,循环... 接着定义一个被处理后的数组,并且使用map函数,内部定义函数的功能: const map1 = array1.map(x => { //map相当于循环数组执行功能的函数 if (x == 4) { ...
  • 数组中的map方法

    千次阅读 2020-04-24 22:44:16
    作用:通过指定函数对数组进行处理,并将处理后的结果以新数组的形式返回 注意点:不会改变原数组,只是将处理后的结果以新数组的形式返回 参数:该方法可以接收两个参数 第一个参数是函数,数组中的每个元素...
  • ES6 数组中新增map方法

    2020-03-31 15:35:27
    map():接收一个函数,将原数组中的所有元素用这个函数处理后放入新数组返回。 举例:有一个字符串数组,我们希望转为int数组,然后 +1 <script > let arr = ["1","2","3"]; arr = arr.map(s => ...
  • //新建一个MAP数组来存储数据 完成把二维数组转化为一维数组的过程 Map,String> map = new HashMap, String>(); //接下来利用for循环进行遍历,把id赋值为key把姓名赋值为数据value //这样就是一个二维数组...
  • map() : 一般用来接收一个函数,将原数组中的所有结果按照指定函数进行处理,并将处理之后的结果拼接一个新的数组. 案例: 将字符串 类型的数组转换了int类型的数组. let arr = ['1','20','-5','3']; ...
  • where($map)-&amp;amp;gt;select(); var_dump($map); array(1) { [&amp;quot;id&amp;quot;]=&amp;amp;gt; array(14) { [0]=&amp;amp;gt; array(1) { [&amp;quot;
  • map处理数组对象

    2020-03-08 19:58:59
    .map() 通过指定函数调用一个数组中每一项元素,来创建一个新数组。 .map() 是一种 non-mutating(非变异) 方法,它创建一个新数组,而不是只对调用数组进行更改的 mutating(变异) 方法。这可能很难记住。 将数组...
  • 数组map方法

    2019-07-26 17:46:16
    map() 方法返回一个新数组数组中的元素为原始数组元素调用函数处理后的值。 map() 方法按照原始数组元素顺序依次处理元素。 注意:map() 不会对空数组进行检测。 注意:map() 不会改变原始数组。 //三个...
  • 1.find: 获取数组中符合条件的第一个值 string var Arr = [1,2,3,4,5,6,7,8,9,10] //获取数组Arr中第一个大于5的元素 var newArr = Arr.find(function(item){ return item &gt; 5 }) console.log(newArr) ...
  • 后端返回的数据类型是list数组 [ { "processStartUser":"1111", "taskCreateTime":1590634371219, "taskCompleteTime":1590634371221, "taskHandler":"1111", "taskHandlerType":null, "taskHandlerOpinion...
  • ES6规格之数组map 方法

    千次阅读 2018-02-06 22:30:28
    数组map 方法 规格的22.1.3.15 小节定义了数组map方法。该小节先是总体描述map方法的行为,里面没有提到数组空位。 后面的算法描述是这样的。 LetObeToObject(this value). ReturnIfAbrupt(O). ...
  • Andorid Parcelable序列化遇见List、数组Map如何处理 安卓开发中,如果遇见需要序列化的场景,我们一般都会把我们的Bean类实现Parcelable接口,如下: import android.os.Parcel; import android.os.Parcelable...
  • map() 方法返回一个新数组数组中的元素为原始数组元素调用函数处理后的值。 map() 方法按照原始数组元素顺序依次处理元素。 注意: map() 不会对空数组进行检测。 注意: map() 不会改变原始数组。 字符串数组转...
  • js数组map方法

    2019-11-24 21:36:50
    map():返回一个新数组数组中的元素为原始数组元素调用函数处理后的值,map()方法按照原始数组元素顺序依次处理元素 map方法会给原数组中的每个元素都按顺序调用一次callback函数,callback每次执行后的返回值...
  • 数组map方法返回值

    千次阅读 2019-03-20 19:16:45
    map() 方法返回一个新数组数组中的元素为原始数组元素调用函数处理后的值。 map() 方法按照原始数组元素顺序依次处理元素。 注意:map() 不会对空数组进行检测。 注意:map() 不会改变原始数组。 map方法返回...
  • import java.io.*; import java.util.Arrays; import java.util.HashMap;...import java.util.Iterator;...import java.util.Map; public class readfile { public static void main(String[] args) ...
  • 数组map和forEach区别

    2019-04-04 22:11:05
    一 相同点: 都是循环遍历数组中的每一项 forEach和map方法里每次执行匿名函数都支持3个参数,...map方法返回一个新的数组数组中的元素为原始数组调用函数处理后的值。原数组进行处理之后对应的一个新的数组。...
  • // 以map举例,他的内部大概实现,其他ES6新增数组处理函数也差不多 Array.prototyope.map = function(callback){ // this指向调用map函数的那个数组 var tempArr = this; // 调用回调函数处理tempArr,因为数组...
  • map()方法返回一个新数组数组中的元素为原始数组元素调用函数处理的后值。 map()方法按照原始数组元素顺序依次处理元素。 (遍历处理的意思) ** 注意: map不会对空数组进行检测 map不会改变原始数组 ,在map...
  • scala 集合数组处理

    2019-01-10 10:02:58
    在使用spark的时候,选择scala会让代码感觉行云流水,小结一下scala中的集合,数组处理的方法 1 元组数据获取 val pair = Array(("hadoop"->90),("flume"->100)) 2 list 元素添加 3 函数式处理 map ...
  • 数据 menuList= { "message": "操作成功!", "success": true, "entity": [ { "id": 75, ... "menuName": "产品介绍", ...处理 ... 遍历数组生成一级菜单 ...这样就处理成一个“父子”分明的二维数组
  • 1.数组里边相同元素提取成map,并以‘’,‘’分隔  例如:var arr = [{a:"xx",b:''xxx''},{a:"xxx",b:''xxxxx''},.....];  想要的结果 a = {''xx'',''xxx'',.....}; b= {''xxx'',''xxxxx'',.....};  var a = ...
  • jQuery数组处理详解

    2014-11-19 21:29:55
    jQuery的数组处理,便捷,功能齐全. 最近的项目中用到的比较多,深感实用,一步到位的封装了很多原生js数组不能企及的功能. 最近时间紧迫,今天抽了些时间回过头来看 jQuery中文文档 中对数组的介绍,顺便对jQuery数组...
  • php 数组处理 array_map 的使用

    千次阅读 2017-03-28 16:29:25
    这里是对数组中值的处理和说明... 需要把组合数组中值的两边的空格去除。 数组:  $data = [  0=>'abc',  0=>'def ',  0=>' hij',  0=>' klm ',  ]; 编码内容 php : class Text{  fu

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 323,413
精华内容 129,365
关键字:

数组处理成map