JavaScript之Array/数组小结
MDN-Array的属性/方法:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array
clear();
//0.数组长度 array.length
console.log("array.length:",[45,67].length); //1.数组-原型 Array.prototype
console.log("Array.prototype:",Array.prototype) //2.Array.from() :对伪数组或可迭代对象(包括arguments Array,Map,Set,String...)转换成数组对象
console.log("Array.from(obj)",Array.from(["a3","56757","56757",[67,8768]]));
console.log("Array.from(obj)",Array.from("johnny")); //3.Array.isArray() 用于确定传递的值是否是一个 Array
console.log("Array.isArray(xxx):",Array.isArray([]),Array.isArray("")) var arr = [3,4,64,4,5,-45,6,67,-65,456435,4354]; //相当好用
//4.数组-过滤器
arr.filter(function(element,index,array){
if(element < 0){
return false;
} else
return true;
}) //相当好用
//5.数组-遍历/处理 Array.map(function(element,index,array){})
arr.map(function(element,index,array){
if(element>100){
console.log(element)
}
return element;
}) //6.数组-排序/处理 Array.sort(compareFunction)
var arrObj = [23,31,45,56];
arrObj.sort(function(a,b){ return a-b; }) //升序:[23,31,45,56] //7.数组元素修改操作:替换/剪切/删除 Array.prototype.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"]
输出
array.length: 1
05:17:04.718 main.raven.938767835e3e5ae6e744.js:1 Array.prototype: [constructor: ƒ, concat: ƒ, pop: ƒ, push: ƒ, shift: ƒ, …]
05:17:04.721 main.raven.938767835e3e5ae6e744.js:1 Array.from(obj) (4) ["a3", "56757", "56757", Array(2)]
05:17:04.722 main.raven.938767835e3e5ae6e744.js:1 Array.from(obj) (6) ["j", "o", "h", "n", "n", "y"]
05:17:04.722 main.raven.938767835e3e5ae6e744.js:1 Array.isArray(xxx): true false
05:17:04.723 main.raven.938767835e3e5ae6e744.js:1 456435
05:17:04.723 main.raven.938767835e3e5ae6e744.js:1 4354
05:17:04.723 (11) [3, 4, 64, 4, 5, -45, 6, 67, -65, 456435, 4354]
参考文献
[2]JavaScript之对原生JavaScript对象的扩展初探
JavaScript之Array/数组小结的更多相关文章
- JavaScript 中Array数组的几个内置函数
本文章内容均参考<JavaScript高级程序设计第三版> 今天在看JavaScript书籍的时候,看到之前没有了解过的JavaScript中Array的几个内置函数对象,为了之后再开发工 ...
- JavaScript中Array(数组) 对象
JavaScript中Array 对象 JavaScript中创建数组有两种方式 (一)使用直接量表示法: var arr4 = []; //创建一个空数组var arr5 = [20]; // 创建 ...
- JavaScript string array 数组
Array类可以如下定义: var aValues = new Array(); 如果预先知道数组的长度,可以用参数传递长度 var aValues = new Array(20); -------- ...
- javascript之Array()数组函数讲解
Array()是一个用来构建数组的内建构造器函数.数组主要由如下三种创建方式: array = new Array() array = new Array([size]) array = new Ar ...
- JavaScript中Array数组的方法
查找: indexOf.lastIndexOf 迭代:every.filter.forEach.map.somereduce.reduceRight 用法: /* 1 查找方法: * arr.inde ...
- Javascript中Array(数组)对象常用的几个方法
Javascript中Array数组的几个常用方法 pop() --获取数组中末尾的元素 shift() --获取数组中首位元素 push() --在数组中末尾增加元素 slice() --按照下 ...
- JavaScript的json和Array及Array数组的使用方法
1.关于json JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集.也可以称为数据集和数组类似,能够存数据! //Ar ...
- Javascript进阶篇——( JavaScript内置对象---下)--Array数组对象---笔记整理
Array 数组对象数组对象是一个对象的集合,里边的对象可以是不同类型的.数组的每一个成员对象都有一个“下标”,用来表示它在数组中的位置,是从零开始的数组定义的方法: 1. 定义了一个空数组: var ...
- JavaScript引用类型之Array数组的toString()和valueof()方法的区别
一.转换方法 1.在JavaScript中几乎所有对象都具有toLocaleString().toString和valueof()方法,因为,所有的对象都继承自Object,而前面所说的方法都是Obj ...
随机推荐
- 洛谷 P4878 [USACO05DEC]layout布局
题面链接 sol:差分约束系统裸题,根据a+b<=c建个图跑个最短路就没了... #include <queue> #include <cstdio> #include ...
- EF 事务
http://yanwushu.byethost7.com/?p=87 1. EF对事务进行了封装:context的saveChange()是有事务性的. 2. 依赖多个不同的Context的操作(即 ...
- hihoCoder#1743:K-偏差排列(矩阵快速幂+状压dp)
题意 如果一个 \(1\to N\) 的排列 \(P=[P_1, P_2, ... P_N]\) 中的任意元素 \(P_i\) 都满足 \(|P_i-i| ≤ K\) ,我们就称 \(P\) 是 \( ...
- Leetcode 190.颠倒二进制位 By Python
颠倒给定的 32 位无符号整数的二进制位. 示例: 输入: 43261596 输出: 964176192 解释: 43261596 的二进制表示形式为 000000101001010000011110 ...
- [luogu4551][POJ3764]最长异或路径
题目描述 给定一棵n个点的带权树,结点下标从1开始到N.寻找树中找两个结点,求最长的异或路径. 异或路径指的是指两个结点之间唯一路径上的所有边权的异或. 分析 处理出各个节点到根节点的异或距离,然后我 ...
- Java -- JDBC_DAO 设计模式
DAO:Date Access Object 实现代码模块化,更加有利于代码的维护和升级. DAO 可以被子类继承或者直接使用. 访问数据信息的类,包含对数据的CRUD(create read upd ...
- android 之 Hnadler 、Message 、Looper
Handler定义: 主要接受子线程发送来的数据,并用此数据配合主线程更新UI. 为什么要用Handler? 我们手机当中的很多功能或操作是不能都放在Activity当中的,比如下载文件.处理大量数据 ...
- 【loj3043】【zjoi2019】线段树
题目 描述 有\(m\)个操作一次发生,每个操作有\(\frac{1}{2}\)的概率被执行 ; 一次操作为线段树([1,n])上的 \(modify(Node,l,r,ql,qr)\) ; ...
- LOJ#2320 生成树计数
解:讲一个别的题解里我比较难以理解的地方,就是为什么可以把这两个东西合起来看成某一个连通块指数是2m而别的指数都是m. 其实很好理解,但是别人都略过了......把后面的∑提到∏的前面,然后展开,也可 ...
- A1050. String Subtraction
Given two strings S1 and S2, S = S1 - S2 is defined to be the remaining string after taking all the ...