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配置指南
[摘要] 本文介绍使用华为云弹性负载均衡配置Http重定向到Https的方法. 1. HTTP.HTTPS 头部标识 ELB 对 HTTPS 进行代理,无论是 HTTP 还是 HTTPS 请求,到了 ...
- JQuery之Ajax应用
众所周知JQuery中的Ajax主要用于数据传输,其数据传输格式为JSON格式数据,比XML格式数据传输更快. ajax 是 Asynchronous JavaScript and XML的简写,aj ...
- luogu P4343 [SHOI2015]自动刷题机 |二分答案
题目描述 曾经发明了信号增幅仪的发明家 SHTSC 又公开了他的新发明:自动刷题机--一种可以自动 AC 题目的神秘装置. 自动刷题机刷题的方式非常简单:首先会瞬间得出题目的正确做法,然后开始写程序. ...
- npm 安装/删除/发布/更新/撤销 发布包
目录 一. npm安装包 1.1 什么时候用本地/全局安装? 1 当你试图安装命令行工具的时候,例如 grunt CLI的时候,使用全局安装 2. 当你试图通过npm install 某个模块,并通过 ...
- 字典dict的深入学习(item() / items() 一致的)
字典Dict的跟进学习: 一. items()方法的遍历:items()方法把字典中每对key和value组成一个元组,并把这些元组放在列表中返回. dict = {"name" ...
- CoderForces999C-Alphabetic Removals
C. Alphabetic Removals time limit per test 2 seconds memory limit per test 256 megabytes input stand ...
- linux mysql,tomcat与java的安装
先将服务器的安全组设置为 把所有端口或者所需要的端口开放 然后测试远程访问 ssh 用户@ip 登录 输入密码 service iptables stop ...
- 【Git】405- 分享:大牛总结的 Git 使用技巧
作者:你喜欢吃青椒么 来源:juejin.im/post/5d157bf3f265da1bcc1954e6 前言 本文是参考廖雪峰老师的Git资料再加上我自己对Git的理解,记录我的Git学习历程,作 ...
- 【Canvas】311- 解决 canvas 在高清屏中绘制模糊的问题
点击上方"前端自习课"关注,学习起来~ 一.问题分析 使用 canvas 绘制图片或者是文字在 Retina 屏中会非常模糊.如图: 因为 canvas 不是矢量图,而是像图片一样 ...
- windows系统的python开发环境的搭建
step1: 访问python官方网站下载python安装包 https://www.python.org/downloads/windows/ 下载自己想要的版本 勾上Add Python XX ...