设为首页 加入收藏

TOP

js — 数组Array(一)
2019-09-20 11:46:07 】 浏览:82
Tags:数组 Array

数组 array

解释器 遇到var声明的变量,会把var声明的变量提升到全局作用域下

1. isArray

isArray() 判断当前数组是否为数组,返回值是true,则证明是数组

var arr = ['red','green','yellow'];
console.log(Array.isArray(arr));

2. 转换方法

调用数组的toString()方法会返回由数组中每个值的字符串形式拼接而成的一个以逗号分隔的字符串。

var num = 123;
var arr = ['red','green','yellow'];
console.log(arr.toString());//red,green,yellow
console.log(num.toString());
console.log(typeof num.toString());

3. 分割字符串 join

join()方法只接收一个参数。

var arr = ['red','green','yellow'];
console.log(arr.join('^'));

4. 栈方法

数组也可以像栈一样,既可以插入和删除项的数据结构。栈是一种LIFO(Last-In-First-Out,后进先出)的数据结构,也就是最新添加的那项元素最早被删除。而栈中项的插入(叫做推入)和移除(叫做弹出),只发生在一个位置——栈的顶部。数组专门提供了 push() 和 pop() 方法,以便实现类似栈的行为。

1.push()方法

可以接收任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度。

var arr = ['red','green','yellow'];
console.log(arr.push('purple')); //返回了数组的最新的长度
console.log(arr);

2.pop()方法

从数组末尾移除最后一项,减少数组的 length 值,然后返回移除的项。

var arr = ['red','green','yellow'];
console.log(arr.pop());//返回删除的内容
console.log(arr);

5. 队列方法

栈数据结构的访问规则是 LIFO(后进先出),而队列数据结构的访问规则是 FIFO(First-In-First-Out, 先进先出)。队列在列表的末端添加项,从列表的前端移除项。

1.shift()方法

shift()方法 能够移除数组中的第一个项并返回该项,同时将数组长度减 1。

var arr = ['red','green','yellow'];
console.log(arr.shift());
console.log(arr);

2.unshift()方法

unshift()方法 能在数组前端添加任意个项并返回新数组的长度

var arr = ['red','green','yellow'];
//往数组的第一项上添加内容
console.log(arr.unshift('gray','black'));
console.log(arr);

6. 重排序方法

数组中已经存在两个可以直接用来重排序的方法:reverse() 和 sort()

1.reverse()方法

reverse翻转数组项的顺序

var values = [1,2,3,4,5];values.reverse();alert(values); // 5,4,3,2,1

2.sort()方法

默认情况下,sort()方法按升序排列——即最小的值位于最前面,最大的值排在最后面。 为了实现排序,sort()方法会调用每个数组项的toString()转型方法,然后比较得到的字符串,以确定如何排序 。即使数组中的每一项都是数值,sort()方法比较的也是字符串。

var values = [0,1,5,10,15];varlus.sort();alert(values); //0,1,10,15,5

sort()方法可以接收一个比较函数作为参数,以便我们指定哪个值位于哪个值的前面。 以完成数组中数值的升序降序功能

比较函数接收两个参数,如果第一个参数位于第二个参数之前则返回一个负数,如果两个参数相等则返回0,如果第一个参数位于第二个参数之后则返回正数。

function compare(v1,v2){
    if(v1 < v2){
        return 1;
    }else if (v1 > v2){
        return -1;
    }else{
        return 0;
    }
}
var values = [0, 1, 5, 10, 15];
values.sort(compare);
alert(values);    // 15,10,5,1,0

7. 操作方法

1.concat()方法 — 拼接

数组合并方法,一个数组调用concat()方法去合并另一个数组,返回一个新的数组。concat()接收的参数是可以是任意的。

  • 参数为一个或多个数组,则该方法会将这些数组中每一项都添加到结果数组中。
  • 参数不是数组,这些值就会被简单地添加到结果数组的末尾
var colors = ['red','blue','green'];
colors.concat('yello');//["red", "blue", "green", "yello"]
colors.concat({'name':'张三'});//["red", "blue", "green", {…}]
colors.concat({'name':'李四'},['black','brown']);// ["red", "blue", "green", {…}, "black", "brown"]

2.slice()方法 — 对数组进行分割

slice()方法,它能够基于当前数组中一个或多个项创建一个新数组。slice()方法可以接受一或两个参数,即要返回项的起始和结束位置。

  • 一个参数的情况下,slice()方法会返回从该参数指定位置开始到当前数组默认的所有项
  • 两个参数的情况下,该方法返回起始和结束位置之间的项——但不包括结束位置的项(顾头不顾尾)。

注意: slice()方法不会影响原始数组

var names = ['女神','wusir','太白'];
name.slice(1) // ['wusir','太白']

var colors = ['red','blue','green','yellow','purple'];
colors.slice(1);//["blue", "green", "yellow", "purple"]
colors.slice(1,4);// ["blue", "green", "yellow"]

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇JSON:结构化数据格式 下一篇js — 字符串

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目