资讯专栏INFORMATION COLUMN

JavaScript-Array类型

instein / 2572人阅读

摘要:类型数组的常见方法检测数组类型方法可以准确判断当前变量的类型方法判断指定类型是否在当前对象的原型链中转换方法把数组转换成字符串,并返回结果返回数组对象的原始值数组转换为字符串形式,多个数组元素用逗号隔开将数组转化为原始类型花花进出栈方法

Array类型 数组的常见方法 检测数组类型
var arr = [1,2,3,4,5];

console.log(arr instanceof Array);//true

//Object.prototype.toString.call()方法可以准确判断当前变量的类型
console.log(Object.prototype.toString.call(arr));//[object Array]

//Object.prototype.isPrototypeOf()方法判断指定类型是否在当前对象的原型链中
console.log(Array.prototype.isPrototypeOf(arr));//true

console.log(Array.isArray(arr));//true
转换方法

toString()-把数组转换成字符串,并返回结果

valueOf()-返回数组对象的原始值

var arr = [1,2,3,4,5,6,7];

//数组转换为字符串形式,多个数组元素用逗号隔开
console.log(arr.toString());//1,2,3,4,5,6,7

//将数组转化为原始类型
console.log(arr.valueOf());//[ 1, 2, 3, 4, 5, 6, 7 ]

var ojb ={
    name : "花"
} ;
console.log(ojb.valueOf());//{ name: "花" }
进出栈方法

var arr = [1,2,3,4,5];

//push()方法-在数组末尾添加一个或多个元素,并返回新的长度
console.log(arr);//[ 1, 2, 3, 4, 5, 6 ]
console.log(arr.push());//6

//pop()方法删除数组最后一个元素并返回删除的元素
console.log(arr.pop());//6
console.log(arr);//[ 1, 2, 3, 4, 5 ]

//unshift()-在数组开头添加一个或多个元素,并返回新的长度
console.log(arr.unshift(7));//6
console.log(arr);//[ 7, 1, 2, 3, 4, 5 ]

//shift()-删除并返回数组第一个元素
console.log(arr.shift());//7

###排序方法

reverse()-反转数组的元素顺序

sort()-对数组的元素进行排序

注意:返回值是排序之后的数组

var arr = [1,2,3,4,5];

//reverse()-反转数组元素的顺序
console.log(arr.reverse());//[ 5, 4, 3, 2, 1 ]

//sort()-改变元素的顺序,根据Unicode码排序
console.log(arr.sort());//[ 1, 2, 3, 4, 5 ]
连接方法
var arr = [1,2,3,4,5];
//concat()-连接多个数组
console.log(arr.concat(6));//[ 1, 2, 3, 4, 5, 6 ]
操作方法

slice()-选取数组的一部分,并返回一个新数组

splicle()-从数组中添加或删除元素

var arr = [1,2,3,4,5];

/*    slice()-截取一部分数据并作为新数据输出
*       参数
*          begin-开始截取的位置
*          end-截取最后的位置的下一个位置*/
/*
console.log(arr.slice(0,3));//[ 1, 2, 3 ]*/

/*    splice()-添加或删除元素
*       参数
*         start-表示删除的开始位置
*         deleteCount-表示删除的个数
*      返回值-删除的元素组成新的数组返回*/

console.log(arr.splice(0,4));//[ 1, 2, 3, 4 ]
console.log(arr);//[ 5 ]
检索方法

indexOf()-搜索数组中的元素,并返回它所在的位置

lastindexOf()-返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后往前搜索。

var arr = [1,2,3,4,5,6,7];

//indexOf()-从左向右检索指定元素,遇到第一个置顶元素返回它的位置
console.log(arr.indexOf(3));//2

//lastindexOf()-从右向左检索指定元素,遇到第一个置顶元素返回它的位置
console.log(arr.lastIndexOf(5));//4

//检索数组不存在的元素返回-1
console.log(arr.lastIndexOf(8));//-1
迭代与归并方法 迭代方法

every() -判断数组中每个元素是否都满足fun函数定义的条件,都满足返回true,否则返回flase

filter() -专门用于筛选出数组中符合fun函数判断条件的元素组成的新数组

forEach()- 专门用于对原数组中每个元素执行相同的fun函数对象规定的操作

map()- 专门用于基于原数组创建新数组对象

some()- 判断是否包含满足fun函数定义的条件的元素,只要包含就返回true,否则返回flase

var arr= [1,2,3,4,5];

/*   Array.prototype.forEach()
*     参数
*       callback - 表示回调函数
*         currentValue - 遍历数组得到每个元素
*         index - 表示遍历数组得到的每个元素的索引值
*         array - 表示遍历的数组*/

arr.forEach(function(currentValue,index,array){
    console.log(currentValue)
});

var arr = [1,2,3,4,5,6,7];

/* accumulator - 累加器的返回值

currentValue - 数组正在处理的元素(没有第一位元素)

currentIndex - 数组正在处理的元素的索引值

*/

arr.reduce(function (accumulator,currentValue,currentIndex,array) {

console.log(accumulator);
return accumulator+currentValue

});

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/108407.html

相关文章

  • 基本类型类型转换(隐式类型转换)和强制类型转换(译一)

    摘要:基本类型的类型转换和强制类型转换一的变量类型分为种。目录基本类型的类型转换隐式类型转换基本类型的强制类型转换基本类型的类型转换隐式类型转换基本类型的类型转换是通过扩展转换的规则完成的。 基本类型的类型转换和强制类型转换(一) Java的变量类型分为2种。基本类型(原始类型)和引用类型。基本类型包括以下八种类型:boolean、 char、byte、short、int、long、floa...

    pcChao 评论0 收藏0
  • 数据类型——数据类型简介及之间的转换

    摘要:二类型转换隐式类型转换转换为字符串类型任意类型转换为类型任意类型一个加号加任意类型转换为类型任意类型显式类型转换转换为字符串类型转换为类型将字符串或布尔值转换为整数类型。 内容简介: 一.数据类型简介 ———— 原始类型 ———— 引用类型 二.数据类型之间的转换 一、数据类型简介 数据类型主要分为原始类型(也有称为基本类型/原始值)和引用类型。 1.原...

    codercao 评论0 收藏0
  • 为vue3学点typescript, 解读高级类型

    摘要:直达第一课体验第二课基础类型和入门高级类型第三课泛型第四课解读高级类型第五课什么是命名空间回顾第二课的时候为了更好的讲解基础类型所以我们讲解了一部分高级类型比如接口联合类型交叉类型本节课我会把剩余高级类型都讲完知识点摘要本节课主要关键词为自 直达 第一课, 体验typescript 第二课, 基础类型和入门高级类型 第三课, 泛型 第四课, 解读高级类型 第五课, 什么是命名空间(na...

    chuyao 评论0 收藏0
  • 通俗的方式理解动态类型,静态类型;强类型,弱类型

    摘要:不允许隐式转换的是强类型,允许隐式转换的是弱类型。拿一段代码举例在使用调用函数的时候会先生成一个类模板运行时生成,执行的时候会生成类模板,执行的时候会生成类模板。 0 x 01 引言 今天和一个朋友讨论 C++ 是强类型还是弱类型的时候,他告诉我 C++ 是强类型的,他和我说因为 C++ 在写的时候需要 int,float 等等关键字去定义变量,因此 C++ 是强类型的,我告诉他 C+...

    周国辉 评论0 收藏0

发表评论

0条评论

instein

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<