分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

JS中some()和every()和join()和concat()和pop(),push(),shift(),unshfit()和map()和filter()

发布时间:2023-09-06 02:03责任编辑:郭大石关键词:暂无标签

一、Array

1、some()和every()

some()是对数组中每一项运行指定函数,如果该函数对任一项返回true,则返回true。

every()是对数组中的每一项运行给定函数,如果该函数对每一项返回true,则返回true。

var array = [1,3,5,7,9,11,13,15,17]undefinedarray.some(function(item,index){ ???return item>9})//true

返回 true

var array = [1,3,5,7,9,11,13,15,17]undefinedarray.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)); //stringconsole.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个)。。。

//接上面数组arrarr.pop() ??//返回4console.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()

原文地址:https://www.cnblogs.com/chengxs/p/9256570.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved