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);