Array对象

lenght

  • 获取到数组的长度

concat() 方法用于合并两个或多个数组。此方法不会更改两大有数组,而是返回一个新的数组

let arr1 = ["a","b","c"];
let arr2 = ["d","e","f"] let arr3 = arr1.concat(arr2)
console.log(arr3);// [ "a", "b", "c", "d", "e", "f" ] console.log(arr1);// ["a","b","c"] console.log(arr2);// ["d","e","f"]

join() 方法将数组(或一个类数组对象)的所有元素连接到一个字符串中

let a = ['Wind','Rain','Fire'];
a.join(); // 'Wind,Rain,Fire'
//默认为 "," a.join(" "); // 空字符串
// "WindRainFire" a.join("-");
//分隔符 " - "
//结果:'Wind-Rain-Fire' console.log(a);
// ['Wind','Rain','Fire']

pop() 方法从数组中删除最后一个元素,并返回该元素的值。此方法更改数组的长度。

let a = [1,3,4];
a.length;// 3 var p = a.pop();
console.log(p);// 4 console.log(a.length); // 2

push() 方法将一个或多个元素添加到数组的末尾,并返回数组的新长度。

var numbers = [1,2,3];
numbers.push(4); console.log(numbers);
// [1,2,3,4] numbers.push(5,6,7);
console.log(numbers)
//[1,2,3,4,5,6,7]

reverse() 方法将数组中元素的位置颠倒

  • 第一个数组元素为最后一个数组元素,最后一个数组元素成为第一个。

shift() 方法从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度

let a = [1,2,3];
let b = a.shift(); console.log(a);
// [2,3]
console.log(b);
// 1

unshift() 方法将一个或多个元素添加到数组的开头,并返回新数组的长度。

let a = [1,3,5]
a.unshift(8,9); console.log(a);
// [8,9,1,3,5]

splice() 方法通过删除现有元素和 / 或添加新元素来更改一个数组的内容

var myFish = ["angel","clown","mandarin","surgeon"];

//从第2位开始删除0个元素,插入“drum"
var removed = myFish.splice(2,0,"drum");
//运算后myFish:["angel","clown","drum","mandarin","surgeon"]
//被删除元素:[],没有元素被删除 //从第3位开始删除1个元素
removed = myFish.splice(3,1);
//运算后的myFish:["angel","clown","drum","surgeon"]
//被删除元素数组:["mandarin"] //从第 2 位开始删除 1 个元素,然后插入 "trumpet"
removed = myFish.splice(2, 1, "trumpet");
//运算后的myFish: ["angel", "clown", "trumpet", "surgeon"]
//被删除元素数组:["drum"] //从第 0 位开始删除 2 个元素,然后插入 "parrot", "anemone" 和 "blue"
removed = myFish.splice(0, 2, "parrot", "anemone", "blue");
//运算后的myFish:["parrot", "anemone", "blue", "trumpet", "surgeon"]
//被删除元素的数组:["angel", "clown"] //从第 3 位开始删除 2 个元素
removed = myFish.splice(3, Number.MAX_VALUE);
//运算后的myFish: ["parrot", "anemone", "blue"]
//被删除元素的数组:["trumpet", "surgeon"]

slice() 方法返回一个从开始到结束(不包括结束)选择的数组的一部分浅拷贝到一个新的数组对象,原数组不会被修改

let a = ['zero','one','two','three'];
let sliced = a.slice(1,3) console.log(sliced);
// ['one','two'] console.log(a);
// ['zero','one','two','three']

sort()方法在适当的位置对数组的元素进行排序,并返回数组,sort排序不一定是稳定的,默认排序顺序是根据字符串Unicode码点。

  • 语法

    • arr.sort()
    • arr.sort(compareFunction)
      • 参数compareFunction 用来指定按某种顺序进行排列的函数
var fruit = ['cherries','apples','bananas'];

fruit.sort();
//['apples','bananas','cherries'] var scores = [1,10,29,2];
scores.sort();
//[1,10,2,20]
//注意10在2之前,因为在Unicode中,10在2之前 var things = ['word', 'Word', '1 Word', '2 Words'];
things.sort();
// ['1 Word', '2 Words', 'Word', 'word']
// 在Unicode中, 数字在大写字母之前,
// 大写字母在小写字母之前. // 例 --------------------------------
//数字排序
var number = [3,6,2,5,7]
number.sort(function(a,b){
return a-b; //升序
//return b-a; //降序
})
console.log(number);
// [2,3,5,6,7]

map()方法创建一个新数组,其结果是该数组中的第一个元素都调用一个提供的函数后返回的结果

    let numbers = [1, 5, 10, 15];
let doubles = numbers.map( x => x ** 2);
console.log(doubles); // [1,25,100,225] const numbers2 = [2, 4, 8, 10];
let halves = numbers2.map(x => x / 2);
console.log(halves); // [1,2,4,5] let numbers3 = [1, 4, 9];
let roots = numbers3.map(Math.sqrt);
console.log(roots); // [1, 2, 3]
// numbers : [1, 4, 9] /**
以下代码将一个包含对象的数组用以创建一个包含新重新格式化对象的新数组
*/
var kvArray = [
{key:1,value: 10},
{key:2,value: 20},
{key:3,value: 30},
{key:4,value: 40}
]
//
// var newArray = kvArray.map(function (obj) {
// var rObj = {};
// rObj[obj.key] = obj.value;
// return rObj;
// }) // 箭头函数
var newArray = kvArray.map((obj) => {
var rObj = {};
rObj[obj.key] = obj.value;
return rObj;
})
console.log(newArray);

forEach() 方法对数组的每个元素执行一次提供的函数,没有返回值和新数组

    const arr = ['a','b','c'];
arr.forEach(function(element){
console.log(element);
})
arr.forEach(e => console.log(e)) function logArrayElements(element,index,array){
console.log("a["+index+ "] = " + element)
} [2,5,,9].forEach(logArrayElements)
// a[0] = 2
// a[1] = 5
// a[3] = 9 [2, 5,"" ,9].forEach(logArrayElements);
// a[0] = 2
// a[1] = 5
// a[2] =
// a[3] = 9

filter() 方法创建一个新数组,其包含通过所提供函数实现的测试的所有元素

function isBigEnough(value){
return value >= 10;
} var filtered = [12, 5, 8, 130, 44].filter(isBigEnough);
conosle.log(filtered); // [12,130,44] // ES6
const isBigEnough = value => value >= 10; let [...spread]= [12, 5, 8, 130, 44]; let filtered = spread.filter(isBigEnough); // filtered is [12, 130, 44]

js基础复习~Array对象的更多相关文章

  1. JS基础语法---Array对象的方法

    Array对象的方法   Array.isArray(对象)---->判断这个对象是不是数组 instanceof关键字 判断对象是不是数组类型:两种方法: //1 instanceof var ...

  2. JS基础 复习: Javascript的书写位置

    爱创课堂JS基础 复习: Javascript的书写位置复习 js书写位置:body标签的最底部.实际工作中使用书写在head标签内一对script标签里.alert()弹出框.console.log ...

  3. JS基础复习

      js基础语法     Netcape        js基础语法规范(ECMAScript1,2,3,3.1,5(IE9),6   ES    ES6=es2015) DOM BOM       ...

  4. 【2017-03-28】JS基础、windows对象、history对象、location对象

    一.JS基础 JS - javaScript 1.js功能: 1).进行数据的运算.2).控制浏览器的一些功能.3).控制元素(属性.内容.样式) js引用位置: 可以放在html页的任意位置. 推荐 ...

  5. Js基础之常用对象

    今天来总结一下js中的常用对象: 1.string对象 常用方法: charAt():返回在指定位置的字符. charCodeAt():返回在指定的位置的字符的 Unicode 编码. concat( ...

  6. JS基础如何理解对象

    这几天跟几个同事聊天发现他们对javascript什么时候该用new都不是很了解. 1.javascript的function什么时候该new什么时候不该new?我觉得主要的问题还是集中在javasc ...

  7. js基础复习点

    1.变量   var num=10;       var num1,num2,num3;   num1=10;   num2=20;   num3=30;       var num1=10,num2 ...

  8. JS基础-内置对象【字符串+Date+Math】

    JS内置对象[字符串] // charAt() 返回字符 // charCodeAt() 返回字符的unicode编码 var str="hello world"; console ...

  9. JS基础之BOM对象

    BOM 对象 JavaScript分为 ECMAScript,DOM,BOM. BOM(浏览器对象模型),可以对浏览器窗口进行访问和操作.使用 BOM,开发者可以移动窗口.改变状态栏中的文本以及执行其 ...

随机推荐

  1. 用U盘完成win10系统的安装

    电脑太卡了,每次都要重装,然后每次忘记要从哪里开始动手,都要百度,仅以此篇记录下 目录 1.系统盘准备 2.从U盘启动安装 1.系统盘准备 第一步:在电脑中完成系统盘制作工具的安装,由于它是要依赖.n ...

  2. c# 排列组合代码类

    /// <summary> /// 排列组件算法类 /// </summary> /// <typeparam name="T"></ty ...

  3. Python基础语法之列表 元组

    1 列表 列表由一系列按照特定顺序的元素组成,其中的元素可以使不同的数据类型,用[ ]来表示列表,用逗号来分割列表中的元素. 1.1 列表操作之切片 a = [1, 2, 3, 4, 5, 6, 7, ...

  4. python multiprocessing模块 介绍

    一 multiprocessing模块介绍 python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu\_count\(\)查看),在python中大部分情况需要使用多进 ...

  5. 第9周总结&实验报告7

    完成火车站售票程序的模拟. 要求:(1)总票数1000张:(2)10个窗口同时开始卖票:(3)卖票过程延时1秒钟:(4)不能出现一票多卖或卖出负数号票的情况.一:实验代码 package first; ...

  6. linux 获取目录中详细信息 -rw-r--r--详解

    -rw-r–r– 1 root root 1313 Sep 3 14:59 test.log详解 查询目录中的内容命令 ls [选项] [文件或目录] 选项: -a 显示所有文件.包括隐藏文件 -l ...

  7. 题解 CF978C 【Letters】

    此题评测机出了点问题,数据全部AC,却显示UKE 下面是数据全部AC,却显示UKE的代码 思路:b[i]减去每个宿舍的房间总数,如果b[i]小于了某个宿舍的房间总数则为答案. #include< ...

  8. RabbitMq学习3-工作队列(Work queues)

    工作队列(又称:任务队列——Task Queues)是为了避免等待一些占用大量资源.时间的操作.当我们把任务(Task)当作消息发送到队列中,一个运行在后台的工作者(worker)进程就会取出任务然后 ...

  9. Linux下查看日志用到的常用命令

    杀僵尸进程 部分程序员,肯定喜欢下面命令: ps -ef | grep java (先查java进程ID) kill -9  PID(生产环境谨慎使用) kill.killall.pkill命令的区别 ...

  10. Animator通过按键切换动画不及时,动画延时切换问题

    再unity3D版本为Unity 5.2.1f1 (64-bit),再设置动画切换时有一个Has Exit Time属性,由于勾上了这个的原因