美文网首页
js数组-2

js数组-2

作者: 冰激凌_db91 | 来源:发表于2017-03-08 00:09 被阅读0次

    1:在寻找的时候,字符串的索引可以不是数字,只要是符合一定的规范,并可以转换为数字就可以的。(索引前面不可以加多于的0)
    2:属性length的最大功能是追踪数组的最大索引。他不会计算元素的个数。必须自己写函数。
    3:基本常识:把数组的长度设为0可以把数组变为空,这样可以清空数组,但是这个办法是很慢的,因为每个数组都是显示的删除。而且这个会影响共享此数组的对象。相比之下,把数字赋值为空则不会影响他。
    4:稀疏数组和密集数组。密集数组是连续的,在相同的索引处,空缺和undefined元素很相似。两个数组都有相同的长度。但是当用 in 索引的时候,完全不同。[,,2][undefined,unfined,2];两个for循环的结果都相同。forEach()循环会跳过空缺,而不会跳过undefined.
    5:忽略空缺的操作:forEach(),every(),map()虽然会跳过,但是会保留空缺。filter()去除了空缺。join()会把空缺,undefined,null转为空字符串。sort()在排序时保留空缺。
    6:移除数组中的空缺:filter()函数。自定义函数。arr.filter(function(x){return true});2:function lose(arr){var result=[];for(var i=0;i<arr.length;i++){result[i]=arr[i];}return result;};把空缺转为undefined.怎么把Undefied变没呢?
    7:Array.isArray(arr);函数用来检查是否是一个数组。。
    8:数组原型方法:破坏性。会改变数组。
    shift().unshift()。pop().push().splice();resver(),sort().在对数字排序的时候不能用原来的方法了,那样会导致值溢出。
    9:function ok(a,b){return a<b?-1:(a>b?1:0)};
    10:好烦啊,数组里面包对象,而且还要比较对象的字符串和对象名字的大小。
    11:非破坏性的(直接改造成一个新的数组):concat(),slice()变成新数组,运原来的还在了,join()变成字符串了把这个。。
    12:数组的迭代:给数组的每一个元素做多次的相同运算。使值根接近真值。
    13:数组的遍历:通过某种方法:不论是头到尾还是hash算法,把数组的所有值都访问一遍。
    14:迭代方法正式开始:var str=[1,2,3,4,5];
    str.forEach(function(item,index){console.log(item''+''index)});1,2,3,4,5让数组中的每一项都做一件事。
    15:var newstr=str.map(function(item,index){return item*2})让数组通过某种计算产生一个新数组。
    16:var newstr=str.filter(function(item,index){return item>3});
    17:var newStr=str.reduce(function(prev,next){return prev+next;});让数组内的前项和后一项做某种计算,并累计最终值。
    18:var result=str.every(function(item,index){return item>0;});检测这些值是否符合某种规则:true.(全部)
    19:对比some()一些符合这个条件就可以。

    相关文章

      网友评论

          本文标题:js数组-2

          本文链接:https://www.haomeiwen.com/subject/znhvgttx.html