JS中的常见数组方法和循环

JS中的数组方法

数组的属性: 

1).告诉我们数组的长度:数组名.length
2).通过该属性可以改变数组的长度

let arr = [1,2,3,4]
console.log(arr.length)
//结果:  4

数组的方法: 

1.  join()

将数组以规定的符号整合成字符串,默认是逗号。该方法不改变原数组 。

	let arr = [1,2,3];
	console.log(arr.join());     // 1,2,3
	console.log(arr.join("-"));   // 1-2-3
	console.log(arr);         // [1, 2, 3](原数组不变)

2.  push()

把里面的内容添加到数组末尾,并返回修改后的长度。


    let arr = ["Banana", "Orange","Apple", "Mango"];
    let fruits  = arr.push("Kiwi");
    console.log(fruits);  // 返回值是新数组长度 5
    

3.  pop() 

从数组中删除最后一个元素,返回值是删除的元素:


    let arr = ["Banana", "Orange","Apple", "Mango"];
    let fruits  = arr.pop(); 
    console.log(fruits);  //  返回值为 Mango
    

4.  sort() 

对数组排序

     arr.sort(function(a,b){
        //return a-b;  //正序
        return b-a;  // 倒序
    });
 
    console.log(arr);

5.  shift() 和 unshift()

shift()  删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined 。 

unshift() 向数组头部添加元素 , 返回新数组的长度。

let arr = ["Lily","lucy","Tom"];
let count = arr.unshift("Jack","Sean");
console.log(count);               // 5
console.log(arr);                //["Jack", "Sean", "Lily", "lucy", "Tom"]
let item = arr.shift();
console.log(item);               // Jack
console.log(arr);                // ["Sean", "Lily", "lucy", "Tom"]

6.  splice() 

方法功能比较强大,可以实现对数组元素的删除、添加、替换。

删除数组的元素 ( 从下标2开始删除2项元素,并从下标2处插入元素 'Lemon','Kiwi' )
    let arr = ["Banana", "Orange","Apple", "Mango"];
    let fruits  = arr.splice(2,2,'Lemon','Kiwi');
    console.log(fruits);  // 返回删除元素组成的数组 ["Apple", "Mango"]
    console.log(arr)  // ["Banana", "Orange", "Lemon", "Kiwi"]
向数组添加元素 ( 从下标2开始删除0项元素,并从下标2处插入元素 'Lemon','Kiwi' )
    let arr = ["Banana", "Orange","Apple", "Mango"];
    let fruits  = arr.splice(2,0,'Lemon','Kiwi');
    console.log(fruits);  // 返回删除元素组成的数组 []
    console.log(arr)  // ["Banana", "Orange", "Lemon", "Kiwi", "Apple", "Mango"]
    
替换数组的元素 ( 从下标2开始删除1项元素,并从下标2处插入元素 'Lemon',其实和删除数组是同样的 )
    let arr = ["Banana", "Orange","Apple", "Mango"];
    let fruits  = arr.splice(2,1,'Lemon');
    console.log(fruits);  // 返回删除元素组成的数组 ["Apple"]
    console.log(arr)  // ["Banana", "Orange", "Lemon", "Mango"]

7.  split()

用于把一个字符串分割成字符串数组。

3、 将String以分隔符 转换为 Array(数组)      split()
       prompt网页输入框  然后赋予一个变量  在后台输出这个变量
        let email = prompt("请输入邮箱");
         console.log(email);
         将这个字符串以@为分隔符分成两部分   然后赋予一个变量  然后分别输出下标0 和下标1
         let emailarr = email.split("@");
         console.log(emailarr);
         document.write("账号是:"+emailarr[0]+"<br/>注册网站是"+emailarr[1]);

8.  map()

数组方法,有返回值,返回了一个新的和老数组长度一致的新数组,新数组也可能是二维数组。


             let newarr = arr.map(function(value,index,oldarr){
                 document.write(index+"---"+value+"---"---oldarr+"<br/>");

                 if(index == 0){
                     value = "7985"
                 }
                 return [value];
             });

             console.log(newarr);

9.  flatMap()

/flatMap() 数组方法,有返回值,返回了一个新的和老数组长度有可能不一致新数组,新数组一定是以一维数组


            let newarr =arr.flatMap(function(value,index,oldarr){
                document.write(index+"---"+value+"---"---oldarr+"<br/>");
                if(index == 0){
                    value = "123456";
                }
                return[value,index];
            }
            );
            console.log(newarr);

10.  indexOf()和 lastIndexOf() 

indexOf():接收两个参数:要查找的项和(可选的)表示查找起点位置的索引。其中, 从数组的开头(位置 0)开始向后查找。
书写格式:arr.indexof( 5 ) //查找从前往后第一个5
lastIndexOf:接收两个参数:要查找的项和(可选的)表示查找起点位置的索引。其中, 从数组的末尾开始向前查找。
书写格式:arr.lastIndexOf( 5,4 ) //查找从后往前第四项开始的第一个5

var arr = [1,3,5,7,7,5,3,1];
console.log(arr.indexOf(5));       //2
console.log(arr.lastIndexOf(5));     //5
console.log(arr.indexOf(5,2));      //2
console.log(arr.lastIndexOf(5,4));   //2
console.log(arr.indexOf("5"));      //-1 找不到返回-1

数组的循环

循环的break与continue

break语句:

break语句用于终止某个循环,使程序跳到循环块外的下一条语句

在循环中位于break后的语句将不再执行

break 语句不仅可以用在for循环中,也可以用在while循环中 

continue语句:

continue可用于for循环和while循环

continue退出本次循环,继续后面的循环

continue语句只能用在循环结构中 

1.  for循环  下标 /  key  /  键      【已知数据,已知条件(先判断,后执行)】

for (初始部分; 循环条件; 条件迭代) {       //循环执行的语句 } 

for(let i = 0;i < arr.length;i++){
         document.write(arr[i]+"<br/>");
     }

2.  while循环   下标 /  key  /  键        【未知数据,未知条件(先判断,后执行)】

//初始部分

while( 循环条件 ) {      

//循环操作      

//迭代部分 } 

let i = 0;
     while(i < arr.length){
         document.write(arr[i]+"<br/>");
         i++;
     }

3.  do while()循环  下标 / key / 键    【至少执行一次(先执行,后判断)】  

 let i = 0;
    do{
        //循环代码块
        document.write(arr[i]+"<br/>");
        i++;
    }
 
    while(i < arr.length);

4.  for of()  循环     值 / value  / 元素  【循环遍历数组】  

for(let value of arr){
        document.write(value+"<br/>");
    }

 5.   for in() 循环     下标 / key / 键  【专门用来循环遍历对象】

 for(let i in arr){
        document.write(arr[i]+"<br/>");
    }

6.  forEach() 数组方法  匿名回调函数  【循环遍历数组】

arr.forEach(function(value,index,oldarr){
   document.write(index+"------"+value+"------"+oldarr+"<br/>");
  });

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值