数组方法和字符串方法的使用

本文详细介绍了JavaScript中数组和字符串对象的使用,包括数组的类型检测、添加删除元素、筛选、排序、索引、去除重复元素、转换为字符串等方法,以及字符串对象的创建、字符位置检索、字符获取、统计最多字符、操作方法、值类型和引用类型的概念。通过案例分析加深理解。
摘要由CSDN通过智能技术生成

数组对象和字符串对象的使用

1.数组对象

1.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

​ 如果监测结果为true,表示给定的变量是一个数组,如果监测结果为false,表示给定的变量不是一个数组。

1.2添加或删除数组元素

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

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

示例代码:

//push
var arr = ['pink','black','white','yellow'];
cosole.log(arr.push('red'));//返回的是数组长度 输出结果为:5
console.log(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.log(arr.pop());// 返回的是删除的元素 输出结果为:yellow
console.log(arr);// 修改了原来的数组 输出结果为['pink', 'black', 'white']
//shift
var arr = ['pink', 'black', 'white', 'yellow']
console.log(arr.shift());// 返回的是删除的元素(第一个) 输出结果为:pink
console.log(arr);// 修改了原来的数组 输出结果为['pink', 'black', 'white']

注意:

  • push()和unshift()方法的返回值是新数组的长度,而pop()和shift()方法返回的是移出的数组元素。
1.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.log(newArr);
1.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.log(arr1.sort());//输出的结果为:[1, 15, 22, 32, 4, 5, 6, 73]
// 传参数:参数是用来指定按某种顺序进行排列的函数
/*
 即 a 和 b 是两个将要被比较的元素:
*/
arr1.sort(function (a, b) {
  // return b - a;//降序  // [73, 32, 22, 15, 6, 5, 4, 1]
  return a - b;//升序 // [1, 4, 5, 6, 15, 22, 32, 73]
})
console.log(arr1);

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

1.5数组索引

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

方法 功能描述
indexOf() 返回在数组中可以找到给定值的第一个索引,如果不存在,则返回-1
lastIndexOf() 返回指定元素在数组中的最后一个的索引,如果不存在则返回-1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值