JavaScript--Array

一堆的数组操作方法
四个必须记住的: push():最后一位追加 pop():删除最后一位 shift():删除第一位 unshift():在第一位追加
静态方法:Array.isArray(值)

        数组的属性:
        .length
        数组的常用方法:
        arr.concat(arr1);//把arr1拼接早arr后边,返回值是新数组--不会改变原数组
        arr.indexOf(1);//判断某个值是否在数组中,如果有返回索引号,日过如果没有返回-1
        arr.lastIndexOf(1)
        arr.join(".");//用指定的拼接数组为字符串,返回值为拼接成的字符串--不会更改原数组
        arr.sort()//从新排序-从小到大,只能正常排纯数字数组,其他类型的数据排序规则不确定[1,1,2]
        arr.reverse()//数组反转
        arr.slice(0,4)//start end  如果只给了开开始,代表截取从开始到全部
        arr.splice(start,legth,值)//从开始位置 截掉多长的   第三个参数作为填充的值
                                    //返回值是截掉的元素组成的新数组,追加的数据会改变原素组

        数组的特殊方法:可以实现遍历数组
        arr.some()
        arr.find()
        arr.findIndex()
        arr.filter()
        arr.every()
        arr.forEach()//只实现循环

        arr.every()//判断数组的元素是够否满足条件,找到一个不满足的就结束循环,返回false
        arr.some()//和every()作用相反,找到一个真的就就结束吗,返回true 。否则返回false
        //方法返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined。
        arr.find(function(item){
            return item>50
        })
        //方法返回数组中满足提供的测试函数的第一个元素的索引。否则返回-1。
        var index = arr.findIndex(function(item.index){
            return item>5
        })
        arr.filter()//挑出所有满足条件的元素,组成新数组
        arr.forEach()//只实现循环

every() :依次遍历元素,判断每个元素是否都为true
function(value,index,self){} :每个元素都会使用此函数判断是否为true,当判断到一个为false时,立即结束遍历。
只有每个元素都为true才返回true;只要一个为false,就返回false。
示例:
var demoArray = [1, 2, 3];
var rs = demoArray.every(function (value, index, self) {
return value > 0;
});
console.log(rs); // => true

filter() :依次遍历元素,返回包含符合条件元素的新的数组
function(value,index,self){} :每个元素依次调用此函数,返回包含符合条件元素的新的数组。
返回值:
{Array} 一个包含符合条件元素的新的数组
示例:
var demoArray = [1, 2, 3];
var rs = demoArray.filter(function (value, index, self) {
return value > 0;
});
console.log(rs); // => [1, 2, 3]

forEach() :依次遍历元素,执行指定的函数;无返回值
function(value,index,self){} :每个元素依次调用此函数
返回值:无
示例:
var demoArray = [1, 2, 3];
demoArray.forEach(function (value, index, self) {
console.log(value); // => 依次输出:1 2 3
});

indexOf() :在数组中查找匹配元素。若不存在匹配的元素时,就返回-1。查找的时候使用”===”运算符,所以要区分1和’1’
返回值:返回数组中第一个匹配value的序号,若不存在,返回-1
示例:
[‘a’, ‘b’, ‘c’].indexOf(‘a’); // =>0
[‘a’, ‘b’, ‘c’].indexOf(‘a’, 1); // =>-1
[‘a’, ‘b’, ‘c’].indexOf(‘d’); // =>-1
[1, 2, 3].indexOf(‘1’); // => -1 :采用的’===’匹配方式

<script>
            var arr = [12, 5, 8, 130, 44];
            //第一个参数是每次循环拿到的数组的元素
            //第二个参数是索引号
            //第三个代表数组本身
//          var b = arr.every(function(a,b,c){//
//              console.log(a);
//              console.log(b);
//              console.log(c);
//              console.log("------");
//              return a>5;
//          })
//          console.log(b)

//          var b = arr.filter(function(item,index,arr){
//              return item>5
//          })

//          var b = arr.find(function(item,index,arr){
//              return item>50
//          })
            var b = arr.some(function(item){
                console.log(item);
                return item>5; 
            })
            console.log(b)
        </script>
数组封装
<script>
            var arr = [1,2,3]
            var str="";
            var add = function(a,arr){
                for(var i= 0;i<arr.length;i++){
                        str =str+String(arr[i])+a
                }
                return str;
            }
            var a = add("*",arr)
            console.log(a)
        </script>
<script>
            var arrk =[];
            var arr = [1,1,2,3,"a",false];
//          var str = arr.join("--")
//          console.log(arr);
//          console.log(str);
//          var arr1 = arr.splice(1,2)
//          
//          console.log(arr1)
//          console.log(arr)
            var arrnew = arr.forEach(function(item,index,arr){
                arrk.push(item);
            })
            console.log(arr);
            console.log(arrk);
        </script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值