数组和字符串

1.数组新增

  • every()—检测数组元素的每个元素是否都符合条件。&& 返回一个布尔值

下例检测数组中的所有元素是否都大于 50。

var arr = [98,88,80,78,67,67,76];
var flag = arr.every(function(element,index,array){
return element>=50;
})
console.log(flag);
  • some()—检测数组元素中是否有元素符合指定条件。|| 它返回的是一个布尔的值

检测下列元素中是否有大于100

	var arr = [98,88,80,78,67,67,76];
	var flag = arr.some(function(element,index,array){
   return element>=100;
     })
     console.log(flag);

  • filter()—检测数组元素,并返回符合条件所有元素的数组。

将大于70的新数组返回

var arr = [98,88,80,78,67,67,76];
var newarr = arr.filter(function(element,index){
   return element>=70
})
console.log(newarr);

  • splice() 方法通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。
    此方法会改变原数组。
arr.splice(起始位置,删除个数,新增元素(可以多个))
 var months = ['Jan', 'March', 'April', 'June'];
 months.splice(1, 0, 'Feb','Fir'); // 在下标为1的位置删除0个元素,增加'Feb','Fir'
 months.splice(1, 2, 'Feb','Fir');  // 在下标为1的位置删除2个元素,增加'Feb','Fir'
 console.log(months);

  • includes(): 方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true,否则返回false。
const arr = [1, 2, 3];
console.log(arr.includes(4));// flase
console.log(arr.includes(2));// true
  • forEach() :方法对数组的每个元素执行一次给定的函数。
var arr = [98,88,80,78,67,67,76];
   arr.forEach(function(element,index){
        console.log(element,index);
    })

严格模式:'use strict’
1.声明变量必须有var关键字
     // 'use strict'
    // var a = 90;
    // b = 30;

    // console.log(window);// window对象保存着全局作用域下面属性和方法  
2.函数的形参不可以重复
 // 'use strict'
    // function fn(y,y){
    //     console.log(y);
    //     console.log(y);
    // }
    // fn(2,3)
3.声明函数调用时,内部没有this
//'use strict'
//function fn(){
		    // console.log(this); // 函数里面的this指向的是window
		     // console.log(arguments);
  			//	  }

// fn()

2 字符串

  • concat()—连接两个或更多的数组,并返回结果。

以下代码将两个数组合并为一个新数组:

var num1 = [1, 2, 3],
    num2 = [4, 5, 6],
var nums = num1.concat(num2);
console.log(nums);

  • charAt() 方法从一个字符串中返回指定的字符。
   var str = 'qwertyuiop';
   console.log(str.charAt(0));
   console.log(str.charAt(1));
   console.log(str.charAt(2));
   console.log(str.charAt(3));
   for(var i =0;i<str.length;i++){
   	console.log(str.charAt(i));
   }
  • split() 将字符串分割成子字符串数组,按照参数来进行分割 , 如果没有参数,会分割成一个一个的字符
var str = '张三-李四-王五-赵六';
       var newStr = str.split('-')
       console.log(newStr);//["张三", "李四", "王五", "赵六"]
       console.log(newStr.join('-'));// 将数组元素以-进行拼接

3 冒泡排序

var arr = [34, 23, 13, 9];
console.log(arr);
for (var j = 0; j < arr.length - 1; j++) {
// 内层循环代表每一轮进行了多少次的比较
for (var i = 0; i < arr.length - 1 - j; i++) {
// 两个相邻的元素进行比较,如果发现前面元素比后面元素大,就将前面元素往后排(交换)
   if (arr[i] > arr[i + 1]) {
      var temp = arr[i];
      arr[i] = arr[i + 1];
      arr[i + 1] = temp;
		 }
    }
}
 console.log(arr);

选择排序

var arr = [67, 45, 34, 23];
for (var i = 0; i < arr.length - 1; i++) {
            for (var j = i + 1; j < arr.length; j++) {
                if (arr[i] > arr[j]) {
                    var temp = arr[i];
                    arr[i] = arr[j];
                    arr[j] = temp;
                }
            }
        }

        console.log(arr);

案列

1.var str = 'asdasdNHasdasdasdNHsdasdasdNHsadasd’将NH替换为**
列表

var str = 'asdasdNHasdasdNHasdasdNHasdasd';
console.log(str.split('NH').join('**'))

2.将str = ‘abcdabc’中的内容去重

 var str = 'abcdabc';
   var arr=str.split('');
   var newarr=[];
   for(var i=0;i<arr.length;i++){
       if(newarr.indexOf(arr[i])==-1){
           newarr.push(arr[i])
       }
   }
console.log(newarr);

3.将str = 'abcdabc’中的内容进行反转

var str = 'abcdabc'
console.log(str.split('').reverse().join(''));

4.将arr = [12,34,12,23,65.1]利用冒泡排序进行排序

var arr = [12,34,12,23,65,1];
for(var i=0;i<arr.length-1;i++){
    for(var j=0;j<arr.length-1-i;j++){
        if(arr[j]>arr[j+1]){
            var temp=arr[j];
            arr[j]=arr[j+1];
            arr[j+1]=temp;
        }
    }
}console.log(arr)

5.封装一个长度为4个的随机验证码。显示到页面

<body>
    <button onclick="fn()">点我生成验证码</button>
    <div id="div"></div>
    <input type="text" id="ipt">
    <script src="E:\js\demo.js"></script>
</body>
//封装了一个返回任意字符串任意长度的验证码
function getSjs(str,n) {
    var str1='';
    for(var i=1;i<=n;i++){
        //生成str中任意一个元素
    var sjs=parseInt(Math.random()*str.length);
        //str1用于拼接每一个,循环几次,拼接几个
    str1+=str.charAt(sjs)
    
}return str1
}

6.封装函数,判断数组arr中是否包含数字60

var arr =[1,2,3,45,62,21,21,874,58,64,60];
function getHave(arr,n){
    var flag =false;
    for(var i=0;i<arr.length;i++){
        if (arr[i]==n) {
            flag=true;
            break;
        }
    }return flag
}
console.log(getHave(arr,60));

7.生成随机点名器

  <button onclick="fn()">点名器</button>
  <div id="box"></div>
   function fn(){
    var oBox=document.getElementById('box');   
    var arr=['东桑','岗桑','彤桑','哈桑','李四','李三','李向阳','毛人凤'];
    oBox.innerHTML=getName(arr);
}

function getName(arr){
    var n=parseInt(Math.random()*arr.length);
   var name=arr[n];
   return name
}

8.var arr =['李白",23,'杜甫∵王维",40]将所有的诗人打印在页面

var arr=['李白',23,'杜甫','王维',40];
var arr1=[];
for(var i=0;i<arr.length;i++){
    if(isNaN(arr[i]/1)){
        arr1.push(arr[i])
    }
}
document.write(arr1.join(' '))

9.var str = ‘李白-杜甫-王维-白居易’;将诗人分割成数组,然后随机点名。显示在页面

       var str = '李白-杜甫-王维-白居易';
       var arr=str.split('-');
       var n=parseInt(Math.random()*arr.length);
       var name=arr[n];
       document.write(name); 

10.var arr = [98,78,67,89,99,67,87,99,89,90];去掉一个最大值和最小值,然后求平均值。

var arr = [98,78,67,89,99,67,87,99,89,90];
arr.sort(function fn(a,b){
            return a-b;
        })
        console.log(arr.shift());
        console.log(arr.pop());
        console.log(arr);
        var sum=0;
        for(var i=0;i<arr.length;i++){
            sum+=arr[i];
        }
        console.log(sum/5); */

10.定义一个含有30个整型元素的数组,按顺序分别赋予从2开始的偶数;
然后按顺序每五个数求出一个平均值,放在另一个数组中并输出。试编程。

  var arr=[];
  var arr1=[];
  var sum=0;
  for(var i=0;i<30;i++){
            arr[i]=(i+1)*2;
            sum+=arr[i];
            if(arr[i]%5==0){
            arr1.push(sum/5);
            sum=0;
            }
        }
  console.log(arr1); 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值