JS中some()和every()和join()和concat()和pop(),push(),shift(),unshfit()和map()和filter()
一、Array
1、some()和every()
some()是对数组中每一项运行指定函数,如果该函数对任一项返回true,则返回true。
every()是对数组中的每一项运行给定函数,如果该函数对每一项返回true,则返回true。
var array = [1,3,5,7,9,11,13,15,17]
undefined
array.some(function(item,index){
return item>9
})
//true
返回 true
var array = [1,3,5,7,9,11,13,15,17]
undefined
array.every(function(item,index){
return item>9
})
//false
返回 false
2、join()
join() 方法用于把数组中的所有元素放入一个字符串。
var arr =[4,5,34,3453,3453,33,"哈哈哈哈"];
var arr2 = arr.join("");
console.log(arr2);
console.log(typeof(arr2)); //string
console.log(typeof(arr)); //object
//45343453345333哈哈哈哈
//string
//object
输出:
//45343453345333哈哈哈哈
//string
//object
3、concat()
连接2个以及更多的数组,返回一个新数组。该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas" var arr2 = new Array(3)
arr2[0] = "James"
arr2[1] = "Adrew" var array3 = arr.concat(arr2);
console.log(array3);
console.log(arr);
console.log(arr2);
输出:
(6) ["George", "John", "Thomas", "James", "Adrew", empty]
(3) ["George", "John", "Thomas"]
(3) ["James", "Adrew", empty]
4、pop()和push()和shift()和unshift()
会改变数组的本身的长度及内容。
不同的是 push()、pop() 是从数组的尾部进行增减,unshift()、shift() 是从数组的头部进行增减。
(1)push()是对尾部添加若干元素,unshift()是对头部添加若干元素,返回数组新长度
var arr = [1, 2];
arr.push(3,4);
console.log(arr); //[1,2,3,4] arr.unshift(0,0.5);
console.log(arr); //[0,0.5,1,2,3,4]
(2)pop()从数组的尾部删除1个元素(删且只删除1个),并返回 被删除的元素;空数组是继续删除,不报错,但返回undefined;而shift()是对头部删除1个元素(只删除1个)。。。
//接上面数组arr
arr.pop() //返回4
console.log(arr); //[0, 0.5, 1, 2, 3] arr.shift() //返回0
console.log(arr) //[0.5,1,2,3]
5、map()
map“映射”,也就是原数组被“映射”成对应新数组。
var data = [1, 2, 3, 4];
var array = data.map(function (item) {
return item * item;
});
console.log(array) //[1,4,9,16]
输出:[1,4,9,16]
var users = [
{name: "张含韵", "email": "zhang@email.com","age":"18"},
{name: "江一燕", "email": "jiang@email.com","age":"34"},
{name: "李小璐", "email": "li@email.com","age":"28"}
]; var emailsAge = users.map(function (item) { return {email:item.email,age:item.age}});
输出
[{email: "zhang@email.com", age: "18"},{email: "jiang@email.com", age: "34"},{email: "li@email.com", age: "28"}]
6、filter()
filter()方法用于把Array的某些元素过滤掉,然后返回剩下的元素,并创建一个包含所有通过测试的元素的新数组。
function isBigEnough(element) {
return element >= 10;
}
var filtered = [12, 5, 8, 130, 44].filter(isBigEnough);
console.log(filtered);//[ 12, 130, 44 ]
输出:[12,130,44]
功能(1):一个Array中,删掉偶数,只保留奇数
var arr = [1, 2, 4, 5, 6, 9, 10, 15];
var num = arr.filter(function (x) {
return x % 2 !== 0;
});
console.log(num) //[1,5,9,15]
功能(2):把Array中的空字符串删掉
var arr = ['A', '', 'B', null, undefined, 'C', ' '];
var string = arr.filter(function (s) {
return s && s.trim(); // 注意:IE9以下的版本没有trim()方法
});
console.log(string); // ['A', 'B', 'C']
功能(3):可以巧妙地去除Array的重复元素,
注意:去除重复元素依靠的是indexOf总是返回第一个元素的位置,后续的重复元素位置与indexOf返回的位置不相等,因此被filter滤掉了。
var r, arr = ['apple', 'strawberry', 'banana', 'pear', 'apple', 'orange', 'orange', 'strawberry'];
r = arr.filter(function (element, index, self) {
return self.indexOf(element) === index;
});
console.log(r.toString()); //apple,strawberry,banana,pear,orange
JS中some()和every()和join()和concat()和pop(),push(),shift(),unshfit()和map()和filter()的更多相关文章
- 小tip:关于typeof,instanceof,toString(),valueOf(),toLocaleString(),join(),reverse(),sort(),pop(),push(),shift(),unshift()
typeof:用于检测一个变量是否是基本数据类型.instanceof用于检测某引用对象是什么类型的对象. var s = "Nicho"; var b = true; var n ...
- js array filter pop push shift unshift方法
JavaScript Array filter() 方法 JavaScript Array 对象 实例 返回数组 ages 中所有元素都大于 18 的元素: var ages = [32, 33, ...
- js 数组的pop(),push(),shift(),unshift()方法小结
关于数组的一些操作方法小结: pop(),push(),shift(),unshift()四个方法都可改变数组的内容以及长度: 1.pop() :删除数组的最后一个元素,并返回被删除的这个元素的值: ...
- String方法,js中Array方法,ES5新增Array方法,以及jQuery中Array方法
相关阅读:https://blog.csdn.net/u013185654/article/details/78498393 相关阅读:https://www.cnblogs.com/huangyin ...
- js中的join(),reverse()与 split()函数用法解析
<script> /* * 1:arrayObject.reverse() * 注意: 该方法会改变原来的数组,而不会创建新的数组.此函数可以将数组倒序排列 * 2:arrayObject ...
- js中push和join方法使用介绍
push和join方法想必大家并不陌生吧,在本文将为大家详细介绍下js中的push和join方法的使用.代码: <script type="text/javascript"& ...
- JS中Float类型加减乘除 修复 JQ 操作 radio、checkbox 、select LINQ to SQL:Where、Select/Distinct LINQ to SQL Count/Sum/Min/Max/Avg Join
JS中Float类型加减乘除 修复 MXS&Vincene ─╄OvЁ &0000027─╄OvЁ MXS&Vincene MXS&Vincene ─╄Ov ...
- js中的slice()、substring()、substr()、split()、join()、indexof()
在js中字符截取函数有常用的三个slice().substring().substr()了,下面我来给大家介绍slice().substring().substr()函数在字符截取时的一些用法与区别吧 ...
- js中数组增删查改unshift、push、pop、shift、slice、indexOf、concat、join
js中数组增删查改unshift.push.pop.shift.slice.indexOf.concat.join
随机推荐
- [爬虫]Fiddler证书错误
在使用fiddler抓包的时候出现 creation of the root certificate was not successful 这个错误出现这个错误会导致https包抓不到 解决方法:1. ...
- .Net Core版开源跨平台框架SkyMallCore
相互学习提升,有不足之处请指教!有需要急速开发的朋友可以拿来用哦! SkyMallCore 该项目目前放在github上,功能仍在完善,已Fork的园友已给了一些建议, 我会继续完善,并将开发过程遇到 ...
- 在linux服务器之间复制文件和目录命令scp
scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度.当你服务器 ...
- Python + Appium 获取当前屏幕的截图方法的封装
使用方法:get_screenshot_as_file(filename),来自于selenium\webdriver\remote\webdiver.py def take_screenShot(s ...
- 描述性统计指标 - 众数 Mode
定义- 数值型数据 - 出现频数最多的变量值- 品质型数据.单项式分组数据 - 频数最多的组为众数组,该组的变量值(类型)就是众数- 组距式分组数据 - 频数最多的组为众数组,通过公式求得众数 - 公 ...
- 神奇的Scala Macro之旅(三)- 实际应用
在上一篇中,我们示范了使用macro来重写 Log 的 debug/info 方法,并大致的介绍了 macro 的基本语法.基本使用方法.以及macro背后的一些概念, 如AST等.那么,本篇中,我们 ...
- 02 JVM 从入门到实战 | 什么样的对象需要被 GC
引言 上一篇文章 JVM 基本介绍 我们了解了一些基本的 JVM 知识,本篇开始逐步学习垃圾回收,我们都知道既然叫垃圾回收,那回收的就应该是垃圾,可是我们怎么知道哪些对象是垃圾呢? 哪些对象需要被回收 ...
- ShortcutBadgerDemo【安卓应用角标(badge)实现方案】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 本文主要使用的开源库是 leolin310148/ShortcutBadger,但是在其基础上做了一些修改. 什么是应用角标? 1. ...
- 学习 JavaScript(二)在 HTML 中使用 JS
基本用法 在 HTML 中使用 <script> 元素引入 Javascript , <script> 有以下 4 个常用属性: async: 异步加载,只对外部脚步有效. d ...
- Hystix熔断解决雪崩问题
1.线程隔离,服务降级(服务的消费方做降级处理) 当服务繁忙时,如果服务出现异常,不是粗暴的直接报错,而是返回一个友好的提示,虽然拒绝了用户的访问,但是会返回一个结果. 这就好比去买鱼,平常超市买鱼会 ...