数组对象&简单复杂数据类型

数组对象

创建数组的两种方式

  • - var arr=[]
    - var arr=new Array
    

检测是否为数组

instanceof运算符

var arr=[1,2,3];
var a=0;
// instanceof
console.log(arr instanceof Array);
console.log(a instanceof Array);

Array.isArray()

var arr=[1,2,3];
var a=0;
//Array.isArray()
console.log(Array.isArray(arr))
console.log(Array.isArray(a))

数组排序

  • sort() 方法以字母顺序对数组进行排序(数字不适用)例如25>100 2>1;(传参数可以给数字排序)

  • reverse() 方法反转数组中的元素

    var zim = ["Banana", "Orange", "Apple", "Mango"];
    var zim1 = ["a","d","b"]
    console.log(zim1.reverse())
    console.log(zim.sort())
    

添加删除数组元素的方法

  • shift:删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined
  • unshift:将参数添加到原数组开头,并返回数组的长度
  • pop:删除原数组最后一项,并返回删除元素的值;如果数组为空则返回undefined
  • push:将参数添加到原数组末尾,并返回数组的长度
  • concat() 方法通过合并(连接)现有数组来创建一个新数组(不影响原数组):

数组索引方法

  • indexOf():在数组中查找给定元素的第一个索引 如果存在返回索引不存在返回-1;该函数只返回第一个满足条件的元素索引
  • lastIndexOf() 与功能一样,不过该函数是从数组后面开始查找的,返回元素的索引是正确的索引 如果存在返回索引不存在返回-1

数组转换为字符串

数组方法说明
toString()将数组转换成一个字符串
toLocalString()把数组转换成本地约定的字符串
join()将数组元素连接起来以构建一个字符串

join()转字符串

//join方式
        var a = [1,2,3,4,5];  //定义数组
        var s = a.join("_");  //指定分隔符
        console.log(s);//输出1_2_3_4_5

**split()**字符串转为数组

字符串对象

根据字符返回位置

  • indexOf方法可返回某个指定的字符串值在字符串中首次出现的位置。

  • 注意 indexOf只会返回字符串中第一次出现此元素的位置

  • indexOf默认从开始位置查找元素,也可指定位置开始找

    var str = 'andy';
    console.log(str.indexOf('a'));
    var str1 = 'andyafnuygjj';
    console.log(str1.indexOf('a'));
    
参数描述
searchvalue(例如上面的“a”)必需,规定需检索的字符串值
fromindex(从几号索引开始)可选的整数参数,规定在字符串中开始检索的位置.

根据位置返回字符

4WpGAf.png

var  str2 = 'andyjwujjdbjk';
console.log(str2.charAt(3));       //  y
console.log(str2.charCodeAt(0));  //  97 , a的ASCII值为97
console.log(str2[0]);           // a

字符串操作方法

4WpvDI.png

slice(start, end) 方法

slice() 提取字符串的某个部分并在新字符串中返回被提取的部分。

该方法设置两个参数:起始索引(开始位置),终止索引(结束位置)。

//slice提取
var str="Apple,Banana,Mango"
var res=str.slice(6,12)
console.log(res)//返回值Banana
substr(start,length) 方法
substr() 方法可在字符串中截取从开始下标开始的指定数目的字符。
splice()方法

splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。

**注释:**该方法会改变原始数组。

语法arrayObject.splice(位置索引号,数量,可选向数组添加新项目)

replace()方法

replace() 方法用另一个值替换在字符串中指定的值:

replace() 方法不会改变调用它的字符串。它返回的是新字符串。

默认地,replace() 只替换首个匹配

//replace替换   **默认只匹配首个匹配
var str = "hello g g!";
var n = str.replace("g", "w");
var f=n.toUpperCase()//转为大写
console.log(f)
转换为大写和小写
  • 通过 toUpperCase() 把字符串转换为大写:
  • 通过 toLowerCase() 把字符串转换为小写:

简单数据类型和复杂数据类型

简单数据类型

简单类型基本数据类型值类型):在存储时变量中存储的是值本身,包括string ,number,boolean,undefined,null

简单类型传参

函数的形参也可以看做是一个变量,当我们把一个值类型变量作为参数传给函数的形参时,其实是把变量在栈空间里的值复制了一份给形参,那么在方法内部对形参做任何修改,都不会影响到的外部变量。

复杂数据类型

复杂数据类型(引用类型):在存储时变量中存储的仅仅是地址(引用),通过 new 关键字创建的对象(系统对象、自定义对象),如 Object、Array、Date等;

复杂数据类型传参

函数的形参也可以看做是一个变量,当我们把引用类型变量传给形参时,其实是把变量在栈空间里保存的堆地址复制给了形参,形参和实参其实保存的是同一个堆地址,所以操作的是同一个对象。
**:在存储时变量中存储的仅仅是地址(引用),通过 new 关键字创建的对象(系统对象、自定义对象),如 Object、Array、Date等;

复杂数据类型传参

函数的形参也可以看做是一个变量,当我们把引用类型变量传给形参时,其实是把变量在栈空间里保存的堆地址复制给了形参,形参和实参其实保存的是同一个堆地址,所以操作的是同一个对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值