精华内容
下载资源
问答
  • arr.push
    千次阅读
    2019-09-29 20:14:22

    arr.push('')向数组传入空值,起占位的作用,元素渲染时,渲染出空白区域,以维持整体效果不被破坏。

    转载于:https://www.cnblogs.com/embrace-ly/p/11289852.html

    更多相关内容
  • arr.concat()、arr.slice()、arr.splice()

    千次阅读 2019-12-23 14:09:00
    arr.concat() arr.concat()语法与定义: concat() 方法用于连接两个或多个数组。 arrayObject.concat(arrayX,arrayX,......,arrayX)必需。arrayX该参数可以是具体的值,也可以是数组对象。可以是任意多个。 基于...

    arr.concat()

    arr.concat()语法与定义:

    concat() 方法用于连接两个或多个数组。
    arrayObject.concat(arrayX,arrayX,......,arrayX)必需。arrayX该参数可以是具体的值,也可以是数组对象。可以是任意多个。
    基于当前数组中的所有项创建一个新数组。简单的说,concat()先给当前数组创建一个副本,然后将接收到的参数添加到这个副本(数组)的末尾,最后返回一个新的数组。

    <script type="text/javascript">
    var a = [1,2,3];
    document.write(a.concat(4,5));
    </script>
    // 输出:1,2,3,4,5
    

    concat()还可以传递空值(也就是说没有传递参数),此时它只是复制当前数组,并且返回一个副本。如下所示:

    var arr = [1,2];
    console.log(arr); // [1, 2]
    var arr2 = arr.concat();
    console.log(arr2); // [1, 2]
    

    不难看出:concat()方法是在数组的副本上进行操作并返回新构建的数组,所以并不会影响到原来的数组。

    concat() vs. push():

    push()方法可以也可以给数组传参数,同样是在数组的末尾添加一个或多个值(数组)。那么与concat()有什么不同之处呢?别的先不多说,先来看一个示例:

    
    // push()方法
    var arr = ['a','b'];
    console.log(arr); // ["a", "b"]
    arr.push('c','d');
    console.log(arr); // ["a", "b", "c", "d"]
     
    // concat()方法
    var arr = ['a','b'];
    console.log(arr); // ["a", "b"]
    arr.concat('c','d');
    console.log(arr); // ["a", "b"]
    var arr2 = arr.concat('c','d');
    console.log(arr2); // ["a", "b", "c", "d"]
    
    

    push()concat()方法都可以将传的参数添加到数组的后面,只不过push()是在原数组上操作(改变的是原数组),concat()不会改变原数组,创建原数组的副本,并且把传的参数添加到新数组后面。

    如果传的是数组又将是一个什么情形呢?

    // push()方法
    var arr = ['a','b'];
    console.log(arr); // ["a", "b"]
    arr.push(['c','d'],[1,2,3]);
    console.log(arr); // ["a", "b", Array[2], Array[3]]
     
    // concat()
    var arr = ['a','b'];
    console.log(arr); // ["a", "b"]
    var arr2 = arr.concat(['c','d'],[1,2,3]);
    console.log(arr2); // ["a", "b", "c", "d", 1, 2, 3]
    

    push()传递的参数是数组时,将整个数组传给原数组末尾,如示例中得到的结果["a", "b", Array[2], Array[3]],而concat()传递的参数是数组时,将参数中数组的每一个数组项添加到原数组的末尾,如示例中得到的结果["a", "b", "c", "d", 1, 2, 3]

    arr.slice()语法与定义:

    slice()方法可以在原数组基础上创建一个副本数组,而且对原数组也并不会有任何影响。
    slice()接受一个或两个参数,即要返回项的起始和结束位置。当只给slice()传递一个参数时,该方法返回从该参数指定位置开始到当前数组末尾的所有项。如下面示例:

    // 测试数组函数,将输出数组的length和第个key:value
    var test = function(array) {
      console.log('length:'+ array.length);
      array.forEach(function(element, index, array) {
        console.log(index + ':' + element);
      });
    };
     
    var arr = [0,1,2,3,4,5,6];
    test(arr);  // [0, 1, 2, 3, 4, 5, 6]
    var arr2 = arr.slice(3);
    test(arr); // [0, 1, 2, 3, 4, 5, 6]
    test(arr2);// [3, 4, 5, 6]
    

    slice()还可以传两个参数,该方法返回起始和结束位置之间的项,但不包括结束位置的项,如:

    var arr = [0,1,2,3,4,5,6];
    var arr2 = arr.slice(2,5);
    console.log(arr2);  // [2, 3, 4]
    

    slice()传递的参数还可以是负值。当参数中有一个负值时,则用数组长度加上该数来确定相应的位置。比如传递的值是-3,数组的length为6,此时slice(-3)对应的就是slice(3)。或者可以从数组的末尾开始计算起,最末尾的是-1。来看看示例:

    var arr = [0,1,2,3,4,5,6];
    var arr2 = arr.slice(-3);
    console.log(arr2);  // [4, 5, 6]
    

    结束位置小于或等于开始位置,将返回一个空数组。

    var arr = [0,1,2,3,4,5,6];
    var arr2 = arr.slice(-3,4);
    console.log(arr2);  // []
    

    slice()方法和concat()方法类似,会在原数组上构建一个新数组,并不会影响原数组。

    arr.splice()语法与定义

    splice()方法在处理数组的各方法中恐怕是最强大的了,它有很多种用法:

    1. 删除: 可以删除任意数量的数组项
    2. 插入:可以向指定位置插入任意数量的数组项
    3. 替换: 可以向指定位置插入任意数量的数组项,且同时删除任意数量的数组项

    删除

    在splice()方法中指定两个参数,第一个参数是指定开始删除数组项位置,第二个数是指删除数组项的个数。如下面这个示例:

    var arr = [0,2,3,4,5,6];
    var arr2 = arr.splice(2,3);
    console.log(arr); // [0, 2, 6]
    console.log(arr2);  // [3, 4, 5]
    
    注意:splice()方法做删除动作之后,将会影响原数组
    

    插入

    splice()方法指定三个参数,第一个参数为插入的起始位置,第二个参数为0(要删除的数组项数量,因为删除数量是为0,所以不做删除),第三个参数是要插入的数组项。如果要插入多个项,可以再传入第四、第五、以至任意多个项。如下面的示例:

    var arr = [0,1,2,3,4,5,6];
    console.log(arr);  // [0, 1, 2, 3, 4, 5, 6]
    var arr2 = arr.splice(2,1,'a','b','c','d');
    console.log(arr);  // [0, 1, "a", "b", "c", "d", 3, 4, 5, 6]
    console.log(arr2); // [2]
    

    替换

    splice()方法做替换其实和做插入非常类似,只是将第二参数设置为大于0(删除数的数量)。如下例所示:

    var arr = [0,1,2,3,4,5,6];
    console.log(arr); // [0, 1, 2, 3, 4, 5, 6]
    var arr2 = arr.splice(-2,4,'a','b','c','d');
    console.log(arr); // [0, 1, 2, 3, 4, "a", "b", "c", "d"]
    console.log(arr2); // [5, 6]
    

    总结

    concat()slice()splice()concat()slice()方法都不会影响原数组,会在原数组上构建出一个新数组。其中concat()方法在原数组末尾添加所传的数组项(简单点看有类似于push()方法),构建一个新数组;slice()方法可以从指定的位置开始删除指定的数组项,并且将删除的数组项构建成一个新数组。splice()方法就更强大了,可以对一个数组做删除、插入和替换。而且splice()方法还会影响原数组,并且将返回的值构建出一个新数组。

    展开全文
  • arrpush,pop,slice…各种使用方法 arr.push(); 向数组的末尾追加元素 会修改原数组 返回值:修改后的length值 可以追加多个 arr[1,2,3]; arr1[4,5,6]; arr2[...arr,...arr1]; // ...扩展运算符,将数组...

    arr的push,pop,slice…各种使用方法

    • arr.push(); 向数组的末尾追加元素

      • 会修改原数组

      • 返回值:修改后的length值

      • 可以追加多个

        arr[1,2,3];
        arr1[4,5,6];
        arr2[...arr,...arr1];       //  ...扩展运算符,将数组展开
        
    • arr.unshift(); 向数组的开头添加元素

      • 会修改原数组
      • 返回值:修改后的length值
      • 可以追加多个
    • arr.pop(); 删除末尾的元素

      • 会修改原数组
      • 返回值:被删除的数据
      • 只能删除一个
    • arr.shift(); 开头删除一个元素

      • 会修改原数组
      • 返回值:被删除的数据
      • 只能删除一个
    • arr.splice(位置,删除元素的个数,要追加的元素); 任意位置添加删除

      • 添加或者删除包含对应下标
      • 添加数据时:删除元素的个数写0;
      • 可以同时删除和添加(先删除,后添加)
      • 修改原数组
    • arr.join(“分隔符”) 使用分隔符将数组数据隔开变为字符串

      • 不修改原数组
      • 返回值是分隔好的字符串
    • arr.slice(截取的起始下标,结束下标) 数组的截取

      • 截取时,包含起始下标,不包含结束下标
      • 不修改原数组
      • 返回值是截取到的数组
      • 参数可以是负数,负数表示倒数,只传一个参数表示从起始下标截取到最后
    • arr.concat 多个数组的连接

      • 不修改原数组

      • 返回值是连接之后的新数组

        var arr1=[1,2,3];
        var arr2=[4,5,6];
        console.log(arr1.concat(arr2,[7,8,9]));
        
        // 控制台输出
        // (9) [1, 2, 3, 4, 5, 6, 7, 8, 9]
        
    • arr.indexOf(值); 查找某个值在数组中第一次出现的下标

      • 返回值是数据的下标,没有找到则返回-1

        var arr=[1,5,6,99,52,663,22,66,552,123,6,622];
        console.log(arr.indexOf(22));    //查找22在arr数组中的位置
        
        // 控制台输出
        // 6
        
    • arr.lastIndexOf(值); 倒叙查找某个值在数组中第一次出现的位置

    • arr.sort() 数组的排序

      • 如果没有参数,则从字符的编码开始按顺序排

      • 如果有参数,这个参数必须是一个函数(回调函数)这个回调函数有两个参数,分别是a,b

      • 修改原数组

      • 返回值是排序之后的数组

        var arr3=[1,5,6,99,52,663,22,66,552,6,622];
        arr3.sort(function(a,b){
        //a-b 正序,
        //b-a 倒序,  
        return a-b;
        })
        console.log(arr3);
        // 控制台输出
        // (11) [1, 5, 6, 6, 22, 52, 66, 99, 552, 622, 663]
        //箭头函数
        arr.sort((a,b)=>a-b)     //正序,
        arr.sort((a,b)=>b-a)     //倒序,
        
        
        //箭头函数
        arr3.sort((a,b)=>{return a-b});
        arr3.sort((a,b)=>a-b);
        
    • arr.forEach() 遍历数组

      • 接收一个回调函数,回调函数第一个参数是 数组值,第二个参数是 下标

        var arr3=[1,5,6,99,52,663,22,66,552,6,622];
        arr3.forEach(function(value,index){
          console.log(index,value)
        })
        // 箭头函数
        arr3.forEach((value,index)=>{console.log(index,value)});
        
    • arr.filter() 过滤(根据条件筛选数组元素)

      • 根据回调函数的返回值进行元素筛选

        • 返回值是true,该元素会保留
        • 返回值是false,该元素跳过
      • 不修改原数组

      • 返回值是筛选之后的数组

        var arr=[1,5,6,99,52,663,22,66,552,123,6,622];
        var newArr =arr.filter(function(value,index){
        return value>100;       //筛选arr数组中值大于100的元素;
        })
        console.log(newArr);
        // 控制台输出
        // (4) [663, 552, 123, 622]
        
        //箭头函数
        var mewArr=arr.filter(v=>v>100);
        
        var person = [
        {name: "张三",age:20,sex: "男"},
        {name: "李四",age:19,sex: "女"},
        {name: "王五",age:22,sex: "男"},
        {name: "赵六",age:21,sex: "女"}
        ];
        var x =person.filter(function(value,index){
        return value.age>20;           // 筛选出年龄大于20岁的学生
        // return value.sex=="男";     //筛选出男同学
        })
        console.log(x);
        // 箭头函数
        arr.filter((value,index)=>{return 判断条件})
        
    • arr.map() 映射 将数组中的所有数据按照条件改变,形成新数组ying

      • 将回调函数每次的返回值,组成一个新的数组

      • 返回值是映射改变之后的数组

      • 不修改原数组

        var arr=[1,5,6,99,52,663,22,66,552,123,6,622];
        // var end=arr3.map(function(value,index){
        //     return value*2;        //将数组中的所有元素都乘以2返回
        // });
        // 箭头函数
        var end = arr.map((value,index)=>value*2);
        console.log(end);
        
    • arr.some() 判断 根据回调函数的判断条件来选择真假

      • 只要有一个回调函数返回值是true,最终some结果是true;

        var arr3=[1,5,6,99,52,663,22,66,552,123,6,622];
        var end=arr3.some(function(value,index){
        return value<500;
        });
        console.log(end);     //true
        
        //箭头函数
        var end=arr3.some(v=>{v<500});
        
    • arr.every() 判断 根据回调函数的判断条件来选择真假(与some比较记忆)

      • 只要有一个回调函数返回值是false,最终every结果是false;

        var arr3=[1,5,6,99,52,663,22,66,552,123,6,622];
        var end=arr3.every(function(value,index){
        return value<500;
        });
        console.log(end);     //false
        
        //箭头函数
        var end=arr3.some(v=>{v<500});
        
    • arr.reverse() 数组倒序

      • 返回修改后的数组

      • 改变原数组

        var arr=[1,5,8,6,9,4,2,3];
        console.log(arr.reverse());     // (8) [3, 2, 4, 9, 6, 8, 5, 1]
        console.log(arr);               // (8) [3, 2, 4, 9, 6, 8, 5, 1]
        
    • Array.from

      • Array.from方法用于将两类对象转为真正的数组:类似数组的对象和可遍历的对象(包括 ES6 新增的数据结构 Set 和 Map)

        var a={length:2,0:'aaa',1:'bbb'};  
        Array.from(a);        //['aaa','bbb']
        // 原理:Array.prototype.slice.call(a);
        var b={length:2};  
        Array.from(b);       //[undefined.undefined]
        
    • Array.of

      • Array.of方法用于将一组值,转换为数组。

      • Array.of总是返回参数值组成的数组。如果没有参数,就返回一个空数组。

        Array.of() // []
        Array.of(undefined) // [undefined]
        Array.of(1) // [1]
        Array.of(1, 2) // [1, 2]
        
    • arr.includes()

      • 用于检查数组是否包含某元素,包含返回true,否则返回false

      • 无法检测对象是否存在

      • 假如只想知道某个值是否在数组中而并不关心它的索引位置,建议使用

        includes()。如果想获取一个值在数组中的位置,那么你只能使用indexOf方法。并且includes()可以识别NaN

        var arr = [1,2,{name:"张三"}]
        arr.includes(2)     // true
        arr.includes(4)     // false
        arr.includes({name:"张三"})     // false
        
      • 可接收俩个参数:要搜索的值,搜索的开始索引

        ['a', 'b', 'c', 'd'].includes('b')         // true
        ['a', 'b', 'c', 'd'].includes('b', 1)      // true
        ['a', 'b', 'c', 'd'].includes('b', 2)      // false
        
      • 此方法为 ES7新增,兼容性##

    展开全文
  • Array.push.apply()

    2022-03-23 10:08:51
    我们都知道 array.push()这个方法可以在数组的末尾添加值到原数组。 但是如果我们希望两个数组相加呢? const Arr1=[1,2,3]; const Arr2=[4,5,6];...你可能脱口而出,我Arr1.push(Arr2)不就行了吗,...Arr1.push.app.

    我们都知道 array.push()这个方法可以在数组的末尾添加值到原数组。

    但是如果我们希望两个数组相加呢?

    const Arr1=[1,2,3];
    const Arr2=[4,5,6];

    你可能脱口而出,我Arr1.push(Arr2)不就行了吗,实际上并不是,push方法只是简单的把数组Arr2整个添加到Arr1上了。

    Arr1=[1,2,3,[Arr2]]

    这时候我们就要用到apply了,我们看MDN的解释

    关于我们这道题,重点在于这句话

     

    Arr1.push.apply(null,Arr2)

    我们不要忘了Arr1.push()其实就是一个函数,而我们apply是像数组元素里的每一项单独传给push函数,也就是这句话。

    那我们push函数是干啥呢?不就是给你的Arr1后面添加元素吗?那我每一项都给你单独执行push,这不就相当于合并了数组了吗?

    1.要记住,这个方法改变的是原数组,没有新增数组。

    2.ES6的 const NewArry =[...Arr1,...Arr2]是让两个数组相加创建了一个新的数组。

    这不就绕过来了吗? 

    展开全文
  • I've done a small comparison between array_push() and the $array[] method and the $array[] seems to be a lot faster. <?php $array = array(); for ($x = 1; $x <= 100000; $x++) { $array[] = ...
  • arr.sort()默认按照Unicode编码,从小到大进行排序,会改变原数组 let arr = ["e", "b", "d", "a", "f", "c", 1, 10, 2, 12]; let result = arr.sort() arr =[1,10,12,2,"a","b","c","d","e","f"] result =[1,10,...
  • push()是往数组中追加元素的一个函数 数组使用push函数报错,猛然一看,感觉不可思议,但事实就是使用时报错了,push这个函数肯定没有问题了,所以排查原因后,发现是代码写的有问题 原代码: var navArr = []; $(...
  • Uncaught TypeError: xxx.push is not a function

    万次阅读 2019-09-20 15:59:32
    Uncaught TypeError: xxx.push is not a function xxx 不是数组。
  • [].push.apply(a, b) 和 Array.prototype.push.apply(a, b); apply的作用在这里有两个: 1、将操作对象换成对象a 2、将b作为push()函数的参数 这句话的意思就是:将b追加到a里面,如果a为数组,也可以写成a.push...
  • array.push()方法的用法

    万次阅读 2016-06-26 15:09:49
    push定义和用法 push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。 语法 arrayObject.push(newelement1,newelement2,....,newelementX) 参数 描述  newelement1 必需。要添加到数组的第...
  • Uncaught TypeError: l.push is not a function

    万次阅读 多人点赞 2018-03-10 18:05:13
    layui.use([ 'jquery', 'layer', 'element' ], function() {}而不是layui.use( 'jquery', 'layer', 'element' , function() {} 
  • JS应用push时提示push is not a function

    千次阅读 2021-08-19 15:07:06
    push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。 为什么有时候会提示失效呢: 如下用的时候 function(){ let num={}; $.each(it,function(index,items){ num.push(items['##']) }) } ...
  • js开发:数组的push()、pop()、shift()和unshift()

    万次阅读 多人点赞 2017-05-18 11:49:57
    arr.push([ 3 , 4 ]); // 将数组[3,4]添加到arr中 console.log(arr); // [1,2,[3,4]] console.log(arr.length); // 3 在Chrome浏览器控制台输出的效果如下图所示: pop() 方法 pop() ...
  • 小程序中push数组出错解决方法

    千次阅读 2020-04-13 15:28:17
    //在data中声明一个movies的数组 listArr:[] ===== 方法里 ===== //push 进listArr里面 ...arr.push({title:'中国机长',time:'2:22:00'},{title:'黑衣人',time:'2:30:14'}) //最后一定要记得this.setData({})...
  • pusharr[i] 遍历 var arr = new Array(); $(":check").each(function(i){if(this.checked==true){ arr.push($(this).val()); } }); var str = arr.join(...
  • js中push方法小结

    万次阅读 多人点赞 2019-08-25 19:38:49
    今天笔试做一道算法题,老是通过不了,头大,直到交卷也没有通过,考完后查了一下,原来是我push的用法用错了,也是服了,重点注意这里arr.push后返回的是push的长度,我却一直用var arr=arr.push('first'),然后输出...
  • Array.prototype.push.apply(arr1, arr2)在vue中不会触发dom更新 export default { data() { return { arr1: [] } } 昨天做项目遇到两个数组合并,把数组2合并到数组1 使用了Array.prototype.push.apply...
  • arr2.push.apply(arr2,arr1);//[3,4,5,1,2] 调用arr2.push这个函数实例的apply方法,同时把arr1当作参数传入,这样arr2.push这个方法就会遍历arr1数组的所有元素,将arr1的元素存入arr2数组,使arr2数组发生改变。
  • 输入[1, 2, 3, 4], 10 输出[1, 2, 3, 4, 10] //错误 function append(arr, item) { ... newArr.push(item); return newArr; } //错误 function append(arr, item) { var newArr = arr.slic...
  • 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 function printListFromTailToHead(head) { var arr=[];... arr.push(head.val); head=head.next; } return arr.reverse(); } functio...
  • Array.prototype.push()添加一个或多个元素到数组...语法:arr.push(element1, ..., elementN) 举例如下: //(1)添加元素到数组 var sports = ["soccer", "baseball"]; var total = sports.push("football", "sw
  • push方法 :接受任意数量的参数 把参数逐个添加到数组...arr1.push(7, 8, 9, 10); console.log(arr1); // arr1[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; //当参数是一个数组的时候 并不会把数组拆开 而是直接当成一项插入...
  • 应用实例 //存储商品id varids=[]; res.result.data.forEach(v=>{ //如果当前商品不存在,即不重复,则将当前商品id推进ids数组中 ...if(ids.indexOf(v.id)===-1){ ...ids.push(v.id); } }) ...
  • JS中提示push is not a function

    万次阅读 2017-09-04 08:55:36
    上星期在做联系的时候在Js中遇到了往数组添加对象的问题,提示push is not a function,找了好久才发现自己定义的不是数组,而是对象,以后一定要多多注意。
  • push()添加到数组末尾,并返回修改后数组的长度。 concat()基于当前数组中的所有项创建一个新数组。具体来说,这个方法会先创建当前数组一个副本,然后将接收到的参数添加到这个副本的末尾,最后返回新构建的...
  • js中push(),pop(),unshift(),shift()的用法小结 1、push()、pop()和unshift()、shift() 这两组同为对数组的操作,并且会改变数组的本身的长度及内容。...var arr = [1, 2]; 2、push()和unshift() ...
  • C++(7):push_back、push_front、insert简单运用

    万次阅读 多人点赞 2018-08-16 11:46:48
    之前在介绍vector的初始化的时候有介绍到容器的push_back操作,push_back基本所有容器都支持,而push_front则是有的支持有的不支持。insert和push_back一样,所有容器都支持。 这里简单介绍一下三种...arr.push_ba...
  • ``` new Vue({ ...list里面数据是正确的,但是无法push到data里的数组中,不知道是为什么求教 这里push会报错 ![图片说明](https://img-ask.csdn.net/upload/201905/22/1558489926_454576.png)
  • js中数组的常见方法

    千次阅读 2020-03-01 19:12:10
    js中数组的常见方法 1.push()和pop() push(): 把里面的内容添加到数组末尾,并返回修改后的长度。...书写格式:arr.push(" "),括号里面写内容 (“字符串要加引号”), 书写格式:arr.pop( ) var arr = ["a", "b", ...
  • push与concat的区别

    2021-03-29 21:05:15
    arr.push(1);  arr.push(2);  arr.push([3, 4])  arr.push(5, 6);  arr = arr.concat(7);  arr = arr.concat([8, 9]);  arr = arr.concat(10, 11);  for(var i in arr){   console.log(i+"-----"+arr[i])

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 193,084
精华内容 77,233
关键字:

arr.push

友情链接: server_connection.rar