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 ...
随机推荐
- Web安全测试实战之测试HTTP方法
一. Http方法测试 有些Web服务器默认情况下开放了一些不必要的HTTP方法(如DELETE.PUT.TRACE.MOVE.COPY),这样就增加了受攻击面. 测试方法: 1.打开webscara ...
- Selenium 4 Java的最佳测试框架
几十年来,Java一直是开发应用程序服务器端的首选编程语言.尽管JUnit一直在与开发人员一起帮助他们进行自动化的单元测试,但随着时间的推移和测试行业的发展,特别是伴随着自动化测试的兴起,已经开发了许 ...
- 思科CISCO ASA 5521 防火墙 Ipsec 配置详解
版本信息: Cisco Adaptive Security Appliance Software Version 9.9(2) Firepower Extensible Operating Syste ...
- 高质量iOS博客推荐
https://www.jianshu.com/p/ea9fabdc12ed 原文地址 原作者记录了一些高质量ios博客地址,本文只做收藏使用.
- 移动开发在路上-- IOS移动开发系列 多线程二
最近太忙没太多的时间,忙碌的码农生活空下来一点时间,都会挤出来看一些技术或者咨询的文章,废话不多说,直奔主题. 接着上一次的继续说. 定时器在多线程的使用 NSRunLoop 是线程相关的基础框架的一 ...
- [TimLinux] MySQL InnoDB的外键约束不支持set default引用选项
1. 外键 MySQL的MyISAM是不支持外键的,InnoDB支持外键,外键是MySQL中的三大约束中的一类:主键约束(PRIMARY KEY),唯一性约束(UNIQUE),外键约束(FOREIGN ...
- CodeForces1006A - Adjacent Replacements
A. Adjacent Replacements time limit per test 1 second memory limit per test 256 megabytes input stan ...
- flex布局中flex-grow与flex-shrink的计算方式
CSS 中的 Flex(弹性布局) 可以很灵活的控制网页的布局,其中决定 Flex 布局内项目宽度/高度的是三个属性: flex-basis, flex-grow, flex-shrink. flex ...
- 【CuteJavaScript】ES2019 新特性汇总
最近 ECMAScript2019,最新提案完成:tc39 Finished Proposals,我这里也是按照官方介绍的顺序进行整理,如有疑问,可以查看官方介绍啦~ 另外之前也整理了 <ES6 ...
- 【重温基础】16.JSON对象介绍
本文是 重温基础 系列文章的第十六篇. 今日感受:静. 系列目录: [复习资料]ES6/ES7/ES8/ES9资料整理(个人整理) [重温基础]1-14篇 [重温基础]15.JS对象介绍 本章节复习的 ...