JS基础语法---Array对象的方法
Array对象的方法
Array.isArray(对象)---->判断这个对象是不是数组
instanceof关键字
//1 instanceof
var obj = [];
console.log(obj instanceof Array);//ture //2 使用数组的
console.log(Array.isArray(obj));//ture
.concat(数组,数组,数组,...) 组合一个新的数组
var arr1 = [10, 20, 30];
var arr2 = [40, 50, 60];
console.log(arr1.concat(arr2));
.every(函数)--返回值是布尔类型,函数作为参数使用,函数中有三个参数,第一个参数是元素的值,第二个参数是索引值,第三个参数是原来的数组(没用)
如果这个数组中的每个元素的值都符合条件,最后才返回的是true
var arr = [1000, 2000, 3000];
//a----: 元素的值
//b----: 索引的值
//c----:谁调用了这个方法,那么c就是谁---->arr
var flag = arr.every(function (a, b) {
//console.log(a+"==="+b+"===="+c);
return a > 2000;//数组中的每个元素的值都要大于2000的情况,最后才返回true
});
var arr = ["小明明lkko", "小曹操674", "小白白bd", "笑眯眯a"];
var flag = arr.every(function (ele, index) {
//数组中的每个元素的长度是不是大于4
return ele.length > 4;
}); console.log(flag);//false
.filter(函数);返回的是数组中每一个元素都符合条件的元素,组成了一个新的数组
var arr = [10, 20, 30, 40, 50, 60, 70, 80];
var newArr = arr.filter(function (ele) {//ele---每个元素
return ele > 40;
});
console.log(newArr);
var arr = [10, 0, 20, 0, 40, 0, 60, 100];
var newArr = arr.filter(function (ele) {
return ele != 0;
});
console.log(newArr);
.push(值);--->把值追加到数组中,加到最后了---返回值也是追加数据之后的数组长度
var arr = [10, 20, 30, 40, 50];
var result = arr.push(100);
console.log(result);// 6 新数组的长度
console.log(arr);//[10, 20, 30, 40, 50, 100]
.pop();--->删除数组中最后一个元素, 返回值就是删除的这个值
var arr = [10, 20, 30, 40, 50];
var result = arr.pop();
console.log(result); //
console.log(arr); //[10, 20,30, 40]
.shift();--->删除数组中第一个元素, 返回值就是删除的这个值
var arr = [10, 20, 30, 40, 50];
var result = arr.shift();
console.log(result); //
console.log(arr);//[20, 30, 40, 50]
.unshift();--->向数组的第一个元素前面插入一个新的元素----返回值是插入后的程度
var arr = [10, 20, 30, 40, 50];
var result = arr.unshift(100);//
console.log(result);
console.log(arr);
.forEach(函数)方法---遍历数组用---相当于for循环
var arr = [10, 20, 30, 40];
arr.forEach(function (ele, index) {
console.log(ele + '======' + index);
});
.indexOf(元素值);返回的是索引,没有则是-1
var arr = [10, 20, 30, 40];
var index = arr.indexOf(300);
console.log(index);
.join("字符串");----返回的是一个字符串
var arr = ["小白", "小黑", "小红", "小芳", "小绿", "小苏"];
var str = arr.join("|");
console.log(str);
.map(函数);--->数组中的每个元素都要执行这个函数,把执行后的结果重新的全部的放在一个新的数组中
var numbers = [1, 4, 9];
var roots = numbers.map(Math.sqrt);
console.log(roots);
.reverse();----->反转数组
var arr = [10, 20, 30, 40, 50];
arr.reverse();//反转
console.log(arr);
.sort();---排序的,可能不稳定,如果不稳定,请写MDN中的那个固定的代码
var arr = [1, 40, 20, 10, 100];
//a---arr[j]
//b---arr[j+1]
arr.sort(function (a, b) {
if (a > b) {
return 1;
} else if (a == b) {
return 0;
} else {
return -1;
}
});
console.log(arr);
.arr.slice(开始的索引,结束的索引);把截取的数组的值放在一个新的数组中,但是不包含结束的索引对应的元素值
var arr = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100];
var newArr = arr.slice(3, 7);
console.log(newArr);
.splice(开始的位置,要删除的个数,替换的元素的值);一般是用于删除数组中的元素,或者是替换元素,或者是插入元素
var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
// myFish.splice(2, 0, 'drum'); // 在索引为2的位置插入'drum'
// myFish 变为 ["angel", "clown", "drum", "mandarin", "sturgeon"]
myFish.splice(2, 1); // 从索引为2的位置删除一项(也就是'drum'这一项)
console.log(myFish);
// myFish 变为 ["angel", "clown", "mandarin", "sturgeon"]
加练习1:实例方法:通过实例对象调用的方法--->排序
//原来学的排序方法:
var arr = [30, 48, 92, 50, 84, 72, 50];
for (var i = 0; i < arr.length - 1; i++) {
for (var j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}//end if
}//end for
}//end for
console.log(arr);
var arr = [30, 48, 92, 50, 84, 72, 50];
function myArray() {
//实例方法:通过实例对象调用的方法--->排序
this.mySort = function (arr) {
for (var i = 0; i < arr.length - 1; i++) {
for (var j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
} //end if
} //end for
} //end for
};
}
//创建对象
var myArray = new myArray();
myArray.mySort(arr);
console.log(arr);
//数组sort方法排序
var arr = [30, 48, 92, 50, 84, 72, 50];
//a---arr[j]
//b---arr[j+1]
arr.sort(function (a, b) {
if (a > b) {
return 1;
} else if (a == b) {
return 0;
} else {
return -1;
}
});
console.log(arr);
练习2:清空数组
var arr = [10, 20, 30, 40, 50];
console.log(arr);
console.log(arr.length);
arr.length = 0;
console.log(arr);
练习3: 毫秒转日期
var dt = new Date();
console.log(dt.valueOf()); var dt2 = new Date(dt.valueOf());//毫秒数转Date对象
console.log(dt2);
JS基础语法---Array对象的方法的更多相关文章
- JS基础语法---Date对象中常见的方法
创建实例对象 var dt = new Date(); //当前的时间---当前的服务器 console.log(dt); var dt = new Date("2017-08-12&quo ...
- js基础复习~Array对象
Array对象 lenght 获取到数组的长度 concat() 方法用于合并两个或多个数组.此方法不会更改两大有数组,而是返回一个新的数组 let arr1 = ["a",&qu ...
- JS基础语法---String对象下的方法(字符串的方法)
实例方法---->必须要通过new的方式创建的对象(实例对象)来调用的方法 静态方法---->直接通过大写的构造函数的名字调用的方法(直接通过大写的对象名字调用的) 字符串的常用属性: . ...
- JS基础语法---Math对象的案例
系统Max求最大值: var result= Math.max(10,20,30,40); console.log(result); 练习1:自己定义一个对象,实现系统的max的方法 //例子:自 ...
- JS基础语法----Math对象
推荐查看MDN----在线的帮助文档 实例对象: 通过构造函数创建出来,实例化的对象 静态对象: 不需要创建,直接就是一个对象,方法(静态方法)直接通过这个对象名字调用 实例方法必须通过实例对 ...
- js中数组Array对象的方法sort()的应用
一. sort()方法的介绍 //给一组数据排序 var arrNum = [12,1,9,23,56,100,88,66]; console.log("排序前的数组:"+arrN ...
- JS基础语法---String对象
String---->是一个对象 字符串可以看成是字符组成的数组, 但是js中没有字符类型 字符是一个一个的, 在别的语言中字符用一对单引号括起来 在js中字符串可以使用单引号也可以使用双引号 ...
- JS基础语法---arguments对象伪数组
引入: //计算两个数字的和 function f1(x, y) { return x + y; } //计算三个数字的和 function f2(x, y, z) { return x + y + ...
- JS基础语法---Date对象---格式化日期
格式化后的指定格式的日期和时间,封装一个函数 function getDate() { var dt = new Date(); var year = dt.getFullYear(); var mo ...
随机推荐
- 简而意赅 HTTP HTTPS SSL TLS 之间有什么不同
HTTP HTTPS SSL TLS 之间有什么不同? SSL是Secure Sockets Layer的缩写.SSL的作用是为网络上的两台机器或设备提供了一个安全的通道. TLS是SSL的一个新的名 ...
- Dapr 运用
Dapr 运用 前置条件 Docker Win10 Dapr 部署 本文将采用本地部署的方式. 安装 Dapr CLI 打开 Windows PowerShell 或 cmd ,运行以下命令以安装 D ...
- JavaScript+HTML+CSS 无缝滚动轮播图的两种方式
第一种方式 在轮播图最后添加第一张,一张重复的图片. 点击前一张,到了第一张,将父级oList移动到最后一张(也就是添加的重复的第一张),在进行后续动画. 点击下一张,到了最后一张(也就是添加的重复的 ...
- git 使用详解(3)—— 最基本命令 + .gitignore 文件
Git 基础 本章将介绍几个最基本的,也是最常用的 Git 命令,以后绝大多数时间里用到的也就是这几个命令.读完本章,你就能初始化一个新的代码仓库,做一些适当配置:开始或停止跟踪某些文件:暂存或提交某 ...
- Oracle - 给rac创建单实例dg,并做主从切换
一.概述 本文将介绍如何给rac搭建单节点的dg,以及如何对其进行角色转换.预先具备的知识(rac搭建,单实例-单实例dg搭建) 二.实验环境介绍 主库rac(已安装rac,并已有数据库orcl)ra ...
- isensor app kit 之 CF5642V2 OV5642 测试总结
. 总结; 使用官哥的cf5642c-v2时,需要将isensor app kit 上的iic上拉电阻去掉,否则可能导致寄存器初始化不成功,去掉即可,使用柴草电子的模组则不需要.
- [状态模式]实现stopwatch
1.模拟传统面向对象语言的状态模式实现 // Stopwatch类 状态机class Stopwatch { constructor() { this.button1 = null ...
- python为前端提供API
作为一名前端来学习后端语言,有难度啊.这里把第一次尝试的过程做个记录 1.网上看到Python给前端提供API可以使用python的flaskweb框架 #py文件 import json from ...
- 【JPA】注解@PostConstruct、@PreDestroy
从Java EE5规范开始,Servlet增加了两个影响Servlet生命周期的注解@PostConstruct和@PreConstruct.这两个注解被用来修饰一个非静态的void()方法,而且这个 ...
- 备战“金九银十”10道String高频面试题解析
前言 String 是我们实际开发中使用频率非常高的类,Java 可以通过 String 类来创建和操作字符串,使用频率越高的类,我们就越容易忽视它,因为见的多所以熟悉,因为熟悉所以认为它很简单,其实 ...