关于数组数据容易忽略的点

1. reduce((累积变量,当前变量,当前位置,原数组) => (),  设置初始累积变量)

  注意:

  1)空数组不能调用该方法,会报错:找不到初始变量

      所以,上面累积变量和设置的初始累积变量至少要有一个,否则报错

  2)当数组长度为1时,调用该方法不会执行,直接返回数组中的元素,数组中是什么返回什么。

      [null].reduce(() => ()) ---> null

2.清空数组的方法

   arr.length = 0;

3.数组的长度

   arr.length的最大值是2**32 - 1;如果大于这个值,则无效! 

4.数组本身就是一种对象!

   数组的赋值也是地址赋值,如果数组同时赋值给两个变量。其中一个变量改变的同时,另一个变量随之改变。

    yield put({ 
        type: 'save', 
        payload: {
          mapTreeData: newResponse,
          initMapTreeData: JSON.parse(JSON.stringify(newResponse))
        } 
      });
// 如上: 当我们需要保留一个返回数据的原始值时,一般会设两个变量,一个用来操作数据,一个用来保存原始值。

注意⚠️: 如果保留初始值的变量不使用深拷贝,那么该值将会随另一个值变化,起不到应有的作用!!!!

 

     

 

   

  

posted @ 2019-03-13 18:50  Lyra李  阅读(160)  评论(0编辑  收藏  举报