前端开发 js 数组常用方法总结 您所在的位置:网站首页 jq数组操作的方法有哪些步骤 前端开发 js 数组常用方法总结

前端开发 js 数组常用方法总结

2024-07-13 13:47| 来源: 网络整理| 查看: 265

js数组常用方法 findIndex获得指定数组元素下标 // 参数:函数(被传入的函数,回调函数) // 格式要求: // item 回调函数,代表每一次遍历的数据 // return 判断条件(自己写) // 返回:满足条件的第一个元素的下标,若没有,返回-1; var index = arr.findIndex(function(item) { return item === 20; }); console.log(index); // 根据 nowArticleID 把其在 articleList 数组中的下标给获得到 const index = this.articleList.findIndex( item => item.art_id === this.nowArticleID ) find()从数组中找出符合条件的第一个元素 let result = [].find(function(item,index,self){ // 如果满足查找的条件 return true; }); // 回调函数有三个参数,分别表示:数组元素的值、索引、整个数组 // 如果某次循环返回的是true,find方法的返回值就是满足这个条件的第一个元素。 // 如果没有找到会返回undefined。 // 用法:找数组中第一个小于0的数字 let arr = [1, 2, 4, 0, -4, 3, -2, 9]; let result = arr.find(function (item) { return item item { return item.id }) var a = [1,2,3,4,5] var b = a.map(function(current,index,array){ return current + 1 }) console.log(b) // [2,3,4,5,6] console.log(a) // [1,2,3,4,5] filter数组过滤

filter方法,对数组的元素进行过滤,把符合条件的元素重新组成数组返回。

// 作用:对当前数组一定的过滤; // 参数:函数(函数)格式要求: // 函数参数:item,index,arr // item:每个数据 // index:下标; // arr:当前遍历的数组; // return 过滤条件; 返回是true,把当前满足条件的item 放入新的数组中 // 返回:返回过滤后的新数组; var arr_1 = arr.filter(function(item, index, arr) { // 过滤条件; 返回是true,把当前满足条件的item 放入新的数组中 return item == 10; }); console.log(arr, arr_1); const rest = this.channelAll.filter(item => { // Array.includes判断是否包含该元素 return !userChannelIds.includes(item.id) }) includes数组包含

includes方法,判断数组是否包含指定的元素。返回 true / false

数组.includes(参数1,参数2) // 参数1,必须,表示查找的内容 // 参数2,可选,表示开始查找的位置,0表示从第一个元素开始找。默认值是0。 let arr = [1, 4, 3, 9]; console.log(arr.includes(4)); // true console.log(arr.includes(4, 2)); // false, 从下标为2的位置开始查,所以没有找到4 console.log(arr.includes(5)); // false concat 数组拼接 // 数组.concat(); // 传入:拼接的数据。 // 返回:新数组; // 传入1个数据 var arr = [1, 2]; var Arr = arr.concat("abc"); console.log(arr, Arr); // 传入多个数据 var Arr = arr.concat("a", "b", "c", "d", "e", "f"); console.log(arr, Arr); // 传入1个数组 var Arr = arr.concat(["aa", "bb"]); console.log(arr, Arr); // 传入多个数组 var Arr = arr.concat(["aa", "bb"], [77, 88]); console.log(arr, Arr); splice 数组增删改 var arr = ['a', 'b', 'c', 'd', 'e']; // 删除: // 参数:第一个参数是开始的下标,第二个参数:要删除的个数; // 返回:被删除元素的数组; var res = arr.splice(3, 1); console.log(arr);----->['a', 'b', 'c', 'e'] 删除元素对原数组进行操作 console.log(res);----->['d'] // 添加: // 参数:第一个参数:开始的下标;第二个参数:删除的个数;后面参数:要添加的数据,从开始的下标位置添加; // 返回:没有删除,返回[] var res = arr.splice(3, 0, "AA", 18); console.log(arr); ---->["a", "b", "c", "AA", 18, "d", "e"] console.log(res); ---->[] // 修改: // 参数:第一个参数:开始的下标;第二个参数:删除的个数;后面参数:要添加替换的数据,从开始的下标位置; // 返回:被替换的数据的数组; var res = arr.splice(3, 1, "HH"); console.log(arr); ----->["a", "b", "c", "HH", "e"] console.log(res); ----->["d"] 数组与字符串互转split和join var str = '刘备|关羽|张飞'; console.log(str); // 字符串---->数组: // 参数:分隔符 // 返回:数组; var arr = str.split("|"); console.log(arr); // 数组----->字符串 // 参数:分隔符; // 返回:字符串; var str_1 = arr.join("*_*"); console.log(str_1); indexOf 数组中查找元素 // 参数:被查找的元素 // 返回:被查找的元素的下标索引(没有找到返回-1) // 场景:查找数组中有没有我们需要的数据; var arr = [1, 10, 20]; var index = arr.indexOf("a"); console.log(index); ----->-1 forEach 遍历数组 var arr = [0, 10, 10, 10, 20]; // 作用:遍历数组 // 参数:函数(函数)格式要求: // 函数参数:item,index,arr // item:每个数据 // index:下标; // arr:当前遍历的数组; var max = arr[1]; arr.forEach(function(item, index, arr) { console.log(item, index, arr); if (item > max) { max = item; } }); console.log(max); slice 截取数组 // 作用:截取数组 // 参数: // 返回:被截取的新数组; var arr = ['a', 'b', 'c', 'd', 'e']; // 参数:2个参数。第一个参数从哪个下标开始(包括),截取到哪个下标结束(不包括), var res = arr.slice(1, 4); console.log(arr, res); // 参数:1个参数,从哪个下标开始,一直到结尾都要截取 var arr_1 = arr.slice(1); console.log(arr_1); // 参数:没有参数,全部截取,复制数组; var res = arr.slice(); // 数组:复杂数据类型; console.log(res, arr); console.log(res == arr); ---->false 数组排序 sort() // sort() 方法用于对数组的元素进行排序。 var arr = [11,52,74,85,96,15]; arr.sort(sortby) // sortby 可选。规定排序顺序。必须是函数。 // 返回值:对数组的引用。 // 注意:数组在原数组上进行排序,不生成副本。 // 如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。 // 如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下: // 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。 // 若 a 等于 b,则返回 0。 // 若 a 大于 b,则返回一个大于 0 的值。 数组倒序reverse() // reverse() 方法用于颠倒数组中元素的顺序。 var arr = [11,52,74,85,96,15]; arr.reverse(); // 注意:该方法会改变原来的数组,而不会创建新的数组。 扩展运算符

把数组中的元素一项项地展开,把一个整体的数组拆开成单个的元素。

var arr1 = [1, 2, 3]; var arr2 = [...arr1]; 数组的去重操作 let arr1 = [1, 2, 3, 3, 4, 5]; let arr = [...new Set(this.arr1)] some() 方法

some() 方法用于检测数组中的元素是否满足指定条件(函数提供)。

some() 方法会依次执行数组的每个元素:

如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。如果没有满足条件的元素,则返回false。

注意:

some() 不会对空数组进行检测。some() 不会改变原始数组。 // 检索数组中是否存在某个值 function some(item,index,arr){ if(item == 10){ console.log (item+"存在于这个数组"); } console.log (item+"不存在于这个数组"); } var a = [11,50,40,3,5,80,90,4]; a.some(some) // 10不存在于这个数组 // false Array.isArray()

判断一个对象是不是数组,返回的是布尔值

let arr = [1, 2, 3, 4, 5]; console.log(Array.isArray(arr)) // true let str = "12345" console.log(Array.isArray(str)) // false Array.toString()

此方法将数组转化为字符串:

let arr = [1, 2, 3, 4, 5]; let str = arr.toString() console.log(str) // 1,2,3,4,5 Array.every() // 此方法是将所有元素进行判断返回一个布尔值,如果所有元素都满足判断条件,则返回true,否则为false: let arr = [1, 2, 3, 4, 5] const isLessThan4 = value => value value => value


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有