数组对象、字符串对象、值类型与引用类型(JavaScript)

一、数组对象

1、数组类型检测

数组类型检测有两种常用的方式:使用instanceof运算符和使用Array.isArray()方法

示例代码:

var arr=[];
var obj={};
//第一种方式
console.log(arr instanceof Array);    //输出结果:true
console.log(obj instanceof Array);    //输出结果:false
//第二种方式
console.log(Array.isArray(arr));      //输出结果:true
console.log(Array.isArray(obj));      //输出结果:false

2、添加或删除数组元素

JavaScript数组对象提供了添加或删除元素的方法,可以实现在数组的未尾或开头添加新的数组元素,或在数组的末尾或开头移出数组元素。方法如下:

方法名 功能描述 返回值
push(参数1...) 数组末尾添加一个或多个元素,会修改原数组 返回数组的新长度
unshift(参数1...) 数组开头添加一个或多个元素(把数组长度-1,无参数),会修改原数组 返回数组的新长度
pop() 删除数组的最后一个元素,若是空数组则返回undefined,会修改原数组 返回删除的元素的值
shift() 删除数组的第一个元素,若是空数组则返回undefined,会修改原数组 返回第一个元素的值

示例代码:

// push
var arr = ['pink', 'black', 'white', 'yellow']
console.1og(arr.push('red'));   // 返回的是数组长度 输出结果为: 5
console.1og(arr);  // 修改了原来的数组 输出结契为['pink’,'black',  ‘white', 'yellow',  'red']
// unshift
var arr = ['pink', 'black', 'white',  'yellow']
console.log(arr.unshift('red','blue'));   // 返问的是数组长度 输出结果为:6
console.log(arr);   // 修改了原来的数组 输出结果为['red', ‘blue','pink','black'.  'white', 'yellow']
// pop
var arr = ['pink', 'black'. 'white'. 'yellow']
console.1og(arr.pop());    //返回的是删除的元素 输出结果为:yellow
console.1og(arr);    // 修改了原来的数组 输出结果为:['pink',‘black',‘white']
// shift
var arr = ['pink', 'black', 'white', 'yellow']
console.1og(arr.shift());    //返同的是删除的元素(第一个) 输出结果为:pink
console.log(arr);// 修改了原来的数组 输出结果为:[‘black',‘white’,‘yellow']

注意: push()和unshift)方法的返回值是新数组的长度,而pop()和shift()方法返回的是移出的数组元素

3、案例:筛选数组

案例需求:要求在包含工资的数组中,剔除工资达到2000或以上的数据,把小于2000的数重新放到新的数组里面。

var arr=[1500,1200, 2000,2100,1800];
var newArr = [];
for (var i = 0; i < arr.length; i++) {
    if (arr[i] < 2000) {
        newArr.push(arr[i]);// 相当于: newarr[newArr.length] = arr[i];
    }
}
console.1og(newArr);

4、数组排序

JavaScript数组对象提供了数组排序的方法,可以实现数组元素排序或者颠倒数组元素的顺序等, 排序方法如下:

方法 功能描述
reverse() 颠倒数组中元索的位置,该方法会改变原数组,返回新数组
sort() 对数组的元素进行排序,该方法会改变原数组,返回新数组

示例代码:

reverse

//reverse
var arr = ['red', 'blue', 'green']
console.log(arr.reverse());  //输出的结果为: ['green', 'blue', 'red')  
console.log(arr);   // 改变原数组['green','blue','red']

sort有两种情况: 1.不传参数 2.传参数:参数是用来指定按某种顺序进行排列的函数

即a和b是两个将要被比较的元素

//sort:如果调用该方法时没有使用参数,按照字符编码的顺序进行排序。
var arr1=[1,4,5,6,73,32,22,15]
//不传参数的情况
console.1og(arr1.sort());   //输出的结果为:[1,15,22,32,4,5,6,73]
//传参数:参数是用来指定按某种顺序进行排列的函数
/*即a和b是两个将要被比较的元素:*/
arr1.sort(function (a, b) {
     //returnb-a;//降序   //[73,32,22.15,6,5,4.1]  
     return a-b;//升序    //[1,4.5,6.15.22.32.73]
})
console.1og(arr1);

注意: 需要注意的是:reverse()和sort()方法的返回值是排序后的数组 sort如果调用该方法时没有使用参数,按照字符编码的顺序进行排序

5、数组索引

在开发中,若要查找指定的元素在数组中的位置,可以利用Array对象提供的检索方法。检索方法如下:

方法 功能描述
indexOf() 返回在数组中可以找到给定值的第一个索引,如果不存在,则返回-1
lastlndexOf() 返回指定元素在数组中的最后一个的索引,如果不存在则返回-1

示例代码: indexOf()

参数1:要找的元素 参数2:开始查找的位置 注意:如果第二个参数是-1表示从最后一个元素开始查找,-2表示从倒数第二个元素开始查找,以此类推。

var bcasts = ['ant', 'bison', 'camcl', 'duck', 'bison'];  console.log(beasts.index0f('bison'));
//愉出结果为:1
//找到第二个bison的索引
console.lo
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值