JavaScript学习笔记之数组(二)
JavaScript学习笔记之数组(二)
1.['1','2','3'].map(parseInt)
输出什么,为什么?
['1','2','3'].map(parseInt)//[1,NaN,NaN]
// map有三个参数:数组元素,元素索引,数组本身
// parseInt有两个参数,元素本身以及进制parseInt(string,radix)
['1','2','3'].map(parseInt); ['1','2','3'].map(function(item,index,array){ return parseInt(item,index); });
parseInt("1",0); => 1
parseInt("2",1); => NaN
parseInt("3",2); => NaN
语法:parseInt(string , radix)
参数:radix
可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。
如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。
当参数 radix 的值为 0或没有设置该参数时,parseInt() 会根据 string 来判断数字的基数。如果参数string以 “0x” 或 “0X” 开头,将以 16 为基数。如果 string 以 1 ~ 9 的数字开头,parseInt() 将把它解析为十进制的整数。
2.对数组['2018-03-05', '2013-06-12','2019-03-12','2018-03-05','2014-02-22']
去重且排序
let arr = [...new Set(['2018-03-05', '2013-06-12','2019-03-12','2018-03-05','2014-02-22'])].sort(function(a,b){return a<b ? -1:1;
})
//["2013-06-12", "2014-02-22", "2018-03-05", "2019-03-12"]
3.数组去重
方法一
var arr = [1, 1, '', '', 'a', 'a', true, true, 'true', 'true', false, false, 'false', 'false']
function uniqueArray(array) {var arr1 = []for (let i = 1; i < array.length; i++) {if (arr1.indexOf(array[i]) === -1) {arr1.push(array[i])}}console.log(arr1)// [1, "", "a", true, "true", false, "false"]return arr1
}
uniqueArray(arr)
方法二
var arr={'0':null,'1':null,'2':'','3':'','4':4,'5':4,length:'6'}
function uniqueArray(array) {if (Array.isArray(array)) {array1=array} else if(array.length>0){var array1 = Array.prototype.slice.call(array)}else{console("参数必须是数组或类数组对象")return}var arr1 = []for (let i = 1; i < array1.length; i++) {if (arr1.indexOf(array1[i]) === -1) {arr1.push(array1[i])}}console.log(arr1)//[null, "", 4]return arr1
}
uniqueArray(arr)
方法三
var arr = [1, 1, ' ', ' ', 'a', 'a', undefined, undefined, null, null]
function uniqueArrar(array) {if (Array.isArray(array) && array.length >1){var temp=[]array.forEach(function(value,index){if(temp.indexOf(value)===-1){temp.push(value)}}) }return temp
}
uniqueArrar(arr)//[1, " ", "a", undefined, null]
3.对数组[1,2,3,4,5,'6',7,'8','a','b','z']
实现乱序
let tempArr = [1, 5, '6', 7, '8', 'a', 'b', 'z'].sort(function () {return Math.random() > 0.5 ? -1 : 1;
})
4.求[1, 10, 11, -1, 8, 9]
内最大值与最小值
var arr = [1, 10, 11, -1, 8, 9]
function MaxMinPlus(arr) {if( Array.isArray(arr)){var max=Math.max.apply(null, arr) var min=Math.min.apply(null, arr)}console.log(max)//11console.log(min)//-1
}
MaxMinPlus(arr)
如果是类数组,可以使用Array.prototype.slice.call()
的方法转换为数组
5.一个数组中存放了多个人员的信息,每个人员的信息由 name 和 age 构成, 实现年龄从小到大的排序;
var obj = [{age:4,name:'张三'},{age:3,name:'李四'},{age:5,name:'王五'},{age:1,name:'赵二'}
]var obj1 = obj.sort(function(a,b){return a.age - b.age;
})
console.log(obj1)
转载于:https://www.cnblogs.com/qfstudy/p/8981152.html
JavaScript学习笔记之数组(二)相关推荐
- JavaScript学习笔记:数组reduce()和reduceRight()方法
很多时候需要累加数组项的得到一个值(比如说求和).如果你碰到一个类似的问题,你想到的方法是什么呢?会不会和我一样,想到的就是使用for或while循环,对数组进行迭代,依次将他们的值加起来.比如: v ...
- JavaScript学习笔记:数组
文章目录 一.一维数组 1.创建数组 (1)创建空数组,逐个赋值 (2)创建数组同时赋值 (3)创建字面量数组 2.添加数组元素 3.数组长度属性length 4.遍历数组 (1)传统for循环 (2 ...
- JavaScript学习笔记之 数组方法一 堆栈 和队列
数组的方法 以及 堆栈的操作的方法 JavaScript是一种弱类型语言,不像其它程序语言需要严格定义数据类型.在JavaScript中数组可以任意修改变动,这样也就出现了一个问题,如果边遍历数组边操 ...
- JavaScript学习随记——数组二
数组indexOf(arg) 和 lastIndexOf(arg)方法使用 <script type="text/javascript" charset="utf- ...
- JavaScript学习笔记(六)--数组
数组初始化 我们都知道,数组是用于保存多个值的集合,在数组中,值被称为元素,值可以是任意的数据类型.在Javascript中,创建数组通常有两种方式:字面量和构造函数. 字面量 数组的元素可以是任意的 ...
- JavaScript 学习笔记(二)
JavaScript 学习笔记(二) 文章目录 JavaScript 学习笔记(二) 一 JSON 1. JSON 对象 什么是JSON对象 JSON对象与Javascript对象的区别 在JavaS ...
- JavaScript 学习笔记(第三天)
JavaScript 学习笔记(第三天) 一.数组 1.1.数组的基础 1.2.数据类型分类 1.3.创建数组 1.3.1.字面量创建一个数组 1.3.2.内置构造函数创建数组 1.4.数组的基本操作 ...
- JavaScript学习笔记(四)(DOM)
JavaScript学习笔记(四) DOM 一.DOM概述 二.元素对象 2.1 获取方式 (1).通过ID获取一个元素对象,如果没有返回null (2).通过`标签名`获取一组元素对象,,如果没有返 ...
- JavaScript学习笔记——函数 Part4:向函数传递函数、从函数返回函数(函数是一等公民)
要点 函数是值,这个值就是函数引用 函数是一等公民:函数引用是一等值 可将函数引用赋给变量.含在数据结构(如对象)中.传递给其他函数或从其他函数返回 函数是一等公民 不要再认为函数是特殊的,有别于Ja ...
最新文章
- C# 获取图片的EXIF 信息
- python面向对象总结_python面向对象总结
- android VectorDrawable使用笔记(三)
- 转:MFC 的程序中GetAt()的理解
- 明汯投资掌门人裘慧明:今年特别难,未来两三年也难
- Vim编辑器学习笔记
- 看完这篇“史密斯圆图”告别懵逼射频!
- 服务器系统安装蓝牙驱动,win10蓝牙驱动怎么安装?-win10蓝牙驱动的安装教程 - 河东软件园...
- mysql 纯真ip 导出dat_纯真IP数据库(qqwry.dat)转换成最新的IP数据库格式(ipwry.dat)
- 智能消防栓监控系统解决方案
- boost LNK2005 重定义错误
- 荐书 | 9本心理治疗书籍推荐
- Jruby On Rails 的安装及部署实践
- Java实现 LeetCode 237 删除链表中的节点
- python更改图片中物体的颜色_Python实现去除图片中指定颜色的像素功能示例
- python3.6怎么保存_python 保存数据单文件_python3.6 单文件爬虫 断点续存 普通版 文件续存方式...
- 复杂的1秒 图解Google搜索技术
- win10开机任务栏转圈假死怎么办
- dz.27z.co index.php,dc vip中心 专业版v2.2.1 discuz插件 dzvip插件 vip会员插件 积分充值插件...
- .NET 对象序列化学习笔记(—)
热门文章
- MaxCompute 2.0—从ODPS到MaxCompute
- returnFunc.js
- Resource 资源 ---Day09 2014-06-13
- SystemCenterOperationsManager2012 SP1系列文章
- 如果我要....(生活版)
- 清华大学郑莉c++答疑
- cv and cover letter part 1
- python script 95% interval
- 大佬的引用。。。。太猛了啊
- 如何管理和组织一个智库?参考西交利物浦大学智库治理结构和我的偶像们的成长路径!