首页 > 编程语言 >微信小程序数组

微信小程序数组

时间:2023-11-10 19:12:40浏览次数:45  
标签:arr const 示例 微信 程序 item result 数组

常用函数
concat(): 连接两个或多个数组,返回连接后的新数组。
示例:const arr1 = [1, 2, 3]; const arr2 = [4, 5, 6]; const arr3 = arr1.concat(arr2); // 返回 [1, 2, 3, 4, 5, 6]

copyWithin(): 从数组指定位置开始替换指定长度的元素。
示例:const arr = [1, 2, 3, 4, 5]; arr.copyWithin(0, 3, 4); // 将数组 [4] 替换到数组起始位置,返回 [4, 2, 3, 4, 5]

entries(): 返回一个数组迭代器,可以遍历数组中的键值对。
示例:const arr = [‘a’, ‘b’, ‘c’]; const iterator = arr.entries(); for (const [index, value] of iterator) { console.log(index, value); } // 输出:0 “a”, 1 “b”, 2 “c”

every(): 检测数组中的所有元素是否符合指定条件,返回布尔类型的值。
示例:const arr = [1, 2, 3]; const result = arr.every((value) => value > 0); // result 为 true

fill(): 用指定的值填充数组的所有元素。
示例:const arr = [1, 2, 3]; arr.fill(0); // 返回 [0, 0, 0]

filter(): 返回一个新数组,包含符合条件的原数组元素。
示例:const arr = [1, 2, 3, 4]; const result = arr.filter((value) => value % 2 === 0); // 返回 [2, 4]

find(): 返回数组中符合条件的第一个元素,否则返回 undefined。
示例:const arr = [1, 2, 3, 4]; const result = arr.find((value) => value > 2); // result 为 3

findIndex(): 返回数组中符合条件的第一个元素的索引,否则返回 -1。
示例:const arr = [1, 2, 3, 4]; const result = arr.findIndex((value) => value > 2); // result 为 2

flat(): 返回一个新数组,将多维数组拍平为一维数组。
示例:const arr = [1, [2, [3, 4]]]; const result = arr.flat(); // 返回 [1, 2, 3, 4]

forEach(): 对数组中的每个元素执行指定的操作。
示例:const arr = [1, 2, 3]; arr.forEach((value, index) => { console.log(value, index); }); // 输出:1 0, 2 1, 3 2

includes(): 返回一个布尔值,表示数组中是否包含指定元素。
示例:const arr = [1, 2, 3]; const result = arr.includes(2); // result 为 true

indexOf(): 返回数组中指定元素的第一个索引,如果不存在,返回 -1。
示例:const arr = [1, 2, 3]; const result = arr.indexOf(2); // result 为 1

join(): 将数组中的所有元素连接成一个字符串。
示例:const arr = [1, 2, 3]; const result = arr.join(); // 返回 “1,2,3”

keys(): 返回一个数组迭代器,可以遍历数组的索引。
示例:const arr = [‘a’, ‘b’, ‘c’]; const iterator = arr.keys(); for (const index of iterator) { console.log(index); } // 输出:0, 1, 2

lastIndexOf(): 返回数组中指定元素的最后一个索引,如果不存在,返回 -1。
示例:const arr = [1, 2, 2, 3]; const result = arr.lastIndexOf(2); // result 为 2

map(): 返回一个新数组,每个元素都是对原数组中的元素执行指定操作后的结果。
示例:const arr = [1, 2, 3]; const result = arr.map((value) => value *
微信小程序中的数组有许多常用的方法和用法 
模糊查询
   var backendData = [];
 // 定义一个方法来执行模糊查询
    function fuzzySearch(keyword) {
      // 使用 filter 方法筛选包含关键字的元素
      const result = backendData.filter(item => {
        // 检查 name 属性是否存在,并且是一个字符串
        if (item.userName && typeof item.userName === 'string') {
          // 将字符串都转为小写进行比较,实现不区分大小写的模糊查询
          return item.userName.toLowerCase().includes(keyword.toLowerCase());
        }
        return false;
      });
      return result;
    }
var list = []; 
const searchResult = fuzzySearch(list);
精确查询
function exactSearch(keyword) {
  const result = backendData.filter(item => {
    if (item.userName && typeof item.userName === 'string') {
      // 将字符串都转为小写进行比较,实现不区分大小写的精确查询
      return item.userName.toLowerCase() === keyword.toLowerCase();
    }
    return false;
  });
  return result;
}
var list = []; 
const searchResult = exactSearch(list);
---------------------------只比较整数类型的属性-----------------------------------
    function exactSearch(keyword) {       const result = backendData.filter(item => {         if (Number.isInteger(item.grad)) {            // 只比较整数类型的属性          return item.grad === parseInt(keyword);         }         return false;       });       return result;     }
数组中找到对应的对象
//数组中找到对应的对象
 let list =  this.data.Teacher.find(item => item.userId === e.currentTarget.dataset.id);  //list是对象
数组中找到满足指定条件的所有元素
let list = this.data.Teacher.filter(item => item.userId === e.currentTarget.dataset.id);  //list是集合
数组中的每个元素克隆到一个新对象中,并给新对象添加一个新的字段
      const modifiedList = this.data.list.map(item => {
        // 给每一项添加一个新的字段
        return {
          ...item,
          static: 0
        };
      });
--------------------------------------------------------------------
      let newList = this.data.prodectList.map(item => ({
        ...item,
        static: 1
      }));
--------------------------------------------------------------------
第二段代码使用了对象的展开运算符 ...,而第一段代码使用了传统的对象属性赋值方式。

两种方式都可以实现相同的效果,最终都会生成一个新的数组,其中包含原数组元素的深拷贝,并且在新对象中添加了新的字段。

标签:arr,const,示例,微信,程序,item,result,数组
From: https://www.cnblogs.com/xbinbin/p/17824333.html

相关文章

  • WINUI多点触控致程序崩溃
    开发的图像软件在在进行多点触摸测试时,出现了程序崩溃。查看了程序了日志,全局异常捕捉并未将这个异常捕捉到,并记录到崩溃日志里。怀疑不是程序的编码问题,可能是由于其他原因造成所致。于是习惯性的打开事件查看器,查看应用程序相关日志,找到了一条应用程序崩溃事件: 其详细信息如......
  • 微信超实用的小功能
    微信真的有超多实用小功能,平时很少注意到,每次都用传统的方法解决,浪费人家研发人员的一片苦心~1重要事项提醒:健忘症的福音;步骤:长按消息-提醒-设置。2图片翻译:不用跳转翻译软件,一键翻译;步骤:点击放大图片-长按-翻译。3拍照转表格:图片一键转换可编辑表格;步骤:点击放大图片-搜一搜-点表......
  • typeof只能检测数据类型,而不能检测从数据类型中派生的其他类型,数组为object派生对象,所
    typeof[]返回值为objecttypeof只能检测数据类型,而不能检测从数据类型中派生的其他类型,数组为object派生对象,所以依然返回objecttypeof判断引用类型数据,除了function以外都会判断成为objectfunctionfn(){console.log(1);}conso......
  • 开发现代化的.NetCore控制台程序:(3)将nuget包发布到GitHubPackages
    前言上一篇文章已经把项目模板的nuget包发布到了nuget的官方源了,其实还可以发布到其他源,比如GitHub,本文记录一下发布到GitHubPackages的过程。注意:本文建立在本系列第二篇文章的基础上,为了更好理解操作过程,请先熟悉本项目的代码结构创建GitHubtoken访问https://gith......
  • 语句var arr=[a,b,c,d];执行后,数组arr中每项都是一个整数,下面得到其中最大整数语句正
    语句vararr=[a,b,c,d];执行后,数组arr中每项都是一个整数,下面得到其中最大整数语句正确的是哪几项?AMath.max(arr)BMath.max(arr[0],arr[1],arr[2],arr[3])CMath.max.call(Math,arr[0],arr[1],arr[2],arr[3])DMath.max.apply(Math,arr)正确答案:BCDA选项错误......
  • 以下哪些Array对象的方法不会更改原有数组?
    以下哪些Array对象的方法不会更改原有数组?Aconcat()Bsplice()Cmap()Dsort()正确答案:AC会改变数组的方法:push()pop()shift()unshift()splice()sort()reverse()forEach()不会改变数组的方法:filter()concat()slice()map()concat函数连接多个array,不改变原arr......
  • Go语言中切片和数组有什么区别
    在Go语言中,数组的结构非常简单,它由两个部分组成:数据类型(DataType):数组中包含的元素的数据类型是固定的,所有元素必须具有相同的数据类型。这意味着一个数组可以包含整数、浮点数、字符串或其他数据类型,但所有元素的类型必须一致。长度(Length):数组的长度是在声明时指定的,它表示数组中......
  • 程序员的内卷的本质
    今天再聊聊程序员「内卷」。其实内卷的话题现在是中国新一代年轻人,包括中年人共同的问题。各行各业都在内卷,不仅仅互联网IT行业,也包括了现在的金融行业,电商行业,甚至包括开一个小店,做个小生意等等都陷入各种内卷之争。听起来大家其实都很厌倦内卷这个词,因为内卷在客观上和主观上都是......
  • Linux程序后台运行
    一、第一种方法(加“&”符号)如果想让程序在后台运行,执行程序的时候,命令的最后面加“&”符号。#执行文件./test.py&#查看是否在后台运行ps-ef|greptest#后台的程序需要关闭时,需要kill命令停止killall[程序名]注意:这种方法,查看运行日志很不方便(不推荐)二、第二种方法(noh......
  • 已知arr = [1,2,NaN,1,4,2,NaN],现为输出arr的不重复元素(重复元素只输出一次),则下列程
    varnewArr=[];for(vari=0;i<arr.length;i++){if(①){newArr.push(arr[i]);}}console.log(newArr);AnewArr.indexOf(arr[i])==-1B!newArr.indexOf(arr[i])==-1CnewArr.includes(arr[i])D!newArr.includes(arr[i])正确答案:DindexOf()方法与incl......