js常用内置数组函数小集

map方法 : 调用一个函数处理数组中的每一个元素,将生成的结果组成一个新的数组,并返回;

接收三个参数:分别是  每一项,下标,原数组  , map((item,index,arr)=>item)

let array1 = [1,4,9,16];
const map1 = array1.map(x => x *2);
// [1,8,18,32]

filter方法 :把传入的函数依次作用于每个元素,然后根据返回值是true还是false决定保留还是丢弃该元素;

接收三个参数:分别是  每一项,下标,原数组  , map((item,index,arr)=>item

 let arr = ['A', '', 'B', null, undefined, 'C', '  '];
 let r = arr.filter((s)=> s&&s.trim());  // 注意:IE9以下的版本没有trim()方法
 // ['A', 'B', 'C']

 //扩展:trim() 方法用于删除字符串的头尾空白符,空白符包括:空格、制表符 tab、换行符等其他空白符等,不会改变原始字符串,不适用于 null, undefined, Number 类型。

some方法 :用于检测数组中的元素是否满足指定条件(函数提供),会依次执行数组的每个元素,如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测,如果没有满足条件的元素,则返回false;

注意: some() 不会对空数组进行检测,some() 不会改变原始数组。

接收三个参数:分别是  每一项,下标,原数组  , map((item,index,arr)=>item

let ages = [4, 12, 16, 20];
let r = ages.some(item => item > 12)

//true

 reduce方法:接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值;

注意: reduce() 对于空数组是不会执行回调函数的。

接收三个参数:分别是  初始值 ,每一项,下标,原数组  , map((item,index,arr)=>item

let  arr = [1, 2, 3, 4];
let sum = arr.reduce(function(prev, cur, index, arr) {
    console.log(prev, cur, index);
    return prev + cur;
},0) //注意这里设置了初始值
console.log(arr, sum);

// 0 1 0
// 1 2 1
// 3 3 2
// 6 4 3
// [1, 2, 3, 4] 10

 split 方法  :字符串转数组;//  str.split(分隔符,留下的个数)

join方法:用指定符号把数组元素连接起来,返回连接好的字符串;

let str = '1234567' 
console.log(str.split('')) // ["1", "2", "3", "4", "5", "6", "7"]
let str1 = '1,2,3,4,5,6,7' 
console.log(str1.split(',')) // ["1", "2", "3", "4", "5", "6", "7"]
let arr=[1,2,3,4]
arr.join(',')		// "1,2,3,4"
arr.join('-')		// "1-2-3-4"

 includes() 方法 : 用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false;

 接受两个参数:includes(item,index)   分别是:1 必须,需要查找的元素值 ;     2 可选,从该索引处开始查找 searchElement。默认为 0。

 indexOf方法:可返回某个指定的字符串值在字符串中首次出现的位置,如果没有找到匹配的字符串则返回 -1;

注意: indexOf() 方法区分大小写。

接受两个参数 : indexOf(searchvalue,start);分别是:1 必需。规定需检索的字符串值。2 可选的整数参数。规定在字符串中开始检索的位置。如省略该参数,则将从字符串的首字符开始检索。

search() 方法 : 搜索特定值的字符串,并返回匹配的置;indexOf() 与 search(),是相等的 , 区别在于 search() 方法无法设置第二个开始位置参数,indexOf() 方法无法设置更强大的搜索值(正则表达式);

接受一个参数:search(searchvalue) ;1  规定需检索的字符串值或正则

let site = ['runoob', 'google', 'taobao'];
 
site.includes('runoob'); // true 

site.includes('baidu'); // false
let str = "Hello world, welcome to the universe.";
let n = str.indexOf("welcome");  // 13
var str = "of China.";
var pos = str.search(/f/);  //  1
  • slice(startend) 方法:提取字符串的某个部分并在新字符串中返回被提取的部分,该方法设置两个参数:起始索引(开始位置)包含,终止索引(结束位置)不包含;

  • substring(startend) 方法 : 类似于 slice(),不同之处在于 substring() 无法接受负的索引

  • substr(startlength) 方法 :substr() 类似于 slice(),不同之处在于第二个参数规定被提取部分的长度

  • replace() 方法 : 用另一个值替换在字符串中指定的值, 区分大小写, 参数可接受正则

   

     split('以什么分割',length)    // 字符串分割
   
     substr (下标,length)   // 字符串截取  包含参数一的标

     substring (下标,下标)   // 字符串截取  包含参数一的下标 ,不包含参数二的下标

     slice (下标,下标)  // 数组截取  包含参数一的下标 ,不包含参数二的下标
  
     splice(下标,length,插入的元素,元素,......)  // 数组截取 包含下标

var str = "Apple, Banana, Mango";
var res = str.slice(7,13);  //  Banana

//-----------------------------------------

var str = "Apple, Banana, Mango";
var res = str.substring(7,13); //  Banana

//-----------------------------------------

var str = "Apple, Banana, Mango";
var res = str.substr(7,6); //  Banana

//----------------------------------------

var str = "Please visit Microsoft and Microsoft!";
var n = str.replace("Microsoft", "W3School");  //  Please visit Microsoft and W3School!

toUpperCase() :把字符串转换为大写;

toLowerCase() : 把字符串转换为小写;

concat() 方法 : 可用于代替加运算符合并字符串 , 也可用户合并数组对象 ;

Object.assign(target, ...sources): 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象

var text1 = "Hello World!";       
var text2 = text1.toUpperCase();  // HELLO WORLD!

//------------------------------------------

var text1 = "Hello World!";     
var text2 = text1.toLowerCase();  // hello world!

//-----------------------------------------

var text1 = "Hello";
var text2 = "World";
text3 = text1.concat(" ",text2);  // Hello World

var o1 = { a: 1 };
var o2 = { b: 2 };
var o3 = { c: 3 };

var obj = [].concat(o1,o2,o3);  // [{ a: 1 },{ b: 2 },{ c: 3 }]


//-------------------------------------------

var o1 = { a: 1 };
var o2 = { b: 2 };
var o3 = { c: 3 };
 
var obj = Object.assign(o1, o2, o3); // { a:1, b:2, c:3 }

JavaScript Math 对象 :

  • floor(x) :对数进行下舍入。
  • ceil(x) : 对数进行上舍入。
  • round(x) : 把数四舍五入为最接近的整数。
  • random() : 返回 0 ~ 1 之间的随机数。
Math.floor(5.123)  // 5

Math.ceil(5.123)  // 6

Math.round(5.51)  // 6

Math.random()  // 随机数 0.4035088672382927

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值