js数组的方法(1)

数组

1.数组新增方法
会改变原来数组的

pop()— 删除数组的最后一个元素并返回删除的元素。
push()— 向数组的末尾添加一个或多个元素,并返回新的元素。
shift()— 删除并返回数组的第一个元素。
unshift()— 向数组的开头添加一个或更多元素,并返回新的长度。
reverse()— 反转数组的元素顺序。
sort()—对数组的元素进行排序。
splice()—用于插入、删除或替换数组的元素。


不会改变原来数组的:

concat()—链接两个或更多的数组、并返回结果。
every()—检测数组元素的每一个元素是否都符合条件。
some()— 检测数组元素中是否有元素符合指定条件。
filter()— 检测数组元素,并返回指定条件所有元素的数组。
indexOf()— 搜索数组中的元素,并返回它所在的位置。
join()— 把数组的所有元素放入一个字符串。
toString()— 表示数组转换为字符串,并返回结果。
lastinddexOf()— 返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。
map()— 通过指定函数处理数组的每个元素,并返回处理后的数组。
slice()— 选取数组的一部分,并返回一个新数组。,
valueOf()— 返回数组对象的原始值。
concat()— 链接两个或更多的数组,并返回结果。

var arr1 = [12,23,1,34]
var arr2 = [23,45]
console.log(arr1.concat(arr2))
condole.log(arr1)
console.log(arr2)

callback是一个函数

function fn(callback) {
callback()
(function(){console.log('我是一个回调函数');})()
}
fn (function(){
console.log('我是一个回调函数');}

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

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

some()— 检测数组元素中是否有元素符合指定条件。它返回的是一个Boolean类型的值。

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

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

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

forEach(): 就像for循环

var arr = [98,88,80,78,67,67,76];
 arr.forEach(function(element,index){
     console.log(element,index);
 })

map()遍历元素,但返回值(每个元素进行处理)

var arr = [98,88,80,78,67,67,76];
var newarr = arr.map(function(ele,i){
     return ele%10
})
console.log(newarr);
2.数组冒泡排序

冒泡排序的原理:两个相邻元素,进行比较,大的往后排

// 外层循环代表走了几轮,每走一轮就能比较出一个最大值
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;
    }
   }
  }
3.值类型和引用类型

基本数据类型:值类型
存的就是值
var a = 10; // var a在内存中开辟空间,存入10。空间的名称叫a

复杂数据类型:引用数据类型
存储的是地址值

     var arr = [12,34,56,67];  // arr存储的是一个地址
     var arr1 = arr; // 将arr的地址复制给arr1 
4.严格模式

严格模式:‘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()
5.字符串

Array
String: 对象
属性:length

方法:1. concat():方法将一个或多个字符串与原字符串连接合并,形成一个新的字符串并返回。
var str1 = 'abc';
     var str2 = 'efd';
     console.log(str1.concat(str2));
     console.log(str1 + str2);

2.charAt() 方法从一个字符串中返回指定的字符。

// 随机生成一个四位数验证码
        var str = '1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM';
    console.log('一共有:' + str.length + '个元素');
 //  1. 随机生一个任意元素的下标(0 - str.length-1)
// 随机数:parseInt(Math.random()*(最大值-最小值+1)+最小值)

     var sjIndex = parseInt(Math.random()*(str.length-1-0+1)+0)
     var sjIndex = parseInt(Math.random() * str.length)

 console.log(sjIndex); //随机下标
    // 2. 获取随机下标下对应的元素
 console.log(str.charAt(sjIndex));//随机下标对应的元素

    // 封装了一个返回任意字符串任意长度的验证码
    function getVeriCode(str,n) {
        var newstr = ''
        for (var i = 1; i <= n; i++) {
            // 生成str中任意一个元素
    var sjIndex = parseInt(Math.random() * str.length)
            // newStr用于拼接每一个,循环几次,拼接几个
      newstr += str.charAt(sjIndex) }
        return newstr;
    }

3.split() 方法使用指定的分隔符字符串将一个String对象分割成子字符串数组,以一个指定的分割字串来决定每个拆分的位置。

6.字符串转为数组

split(参数):将字符串分割成子字符串字符,按照参数来进行分割,如果没有参数,会分割成一个一个的字符。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值