1. 声明和初始化一个数组:
var array = []; // 声明一个空数组
var array = [1, 2, 3]; // 声明并初始化一个有元素的数组
  1. 获取数组长度:
var length = array.length; // 获取数组的长度
  1. 访问和修改数组元素:
var element = array[index]; // 获取指定索引位置的元素
array[index] = newValue; // 修改指定索引位置的元素的值
  1. 遍历数组:
array.forEach(item => {
// 遍历数组的每个元素,并执行相应的操作
});
  1. 添加和删除数组元素:
array.push(element); // 在数组末尾添加一个元素
array.pop(); // 删除数组末尾的一个元素
array.unshift(element); // 在数组开头添加一个元素
array.shift(); // 删除数组开头的一个元素
  1. 对数组进行排序:
array.sort(); // 升序排序数组元素
array.sort((a, b) => b - a); // 降序排序数组元素
  1. 过滤数组元素:
var filteredArray = array.filter(item => {
// 返回一个新的数组,其中包含符合条件的元素
return item > 3; // 例如,过滤出大于 3 的元素
});
  1. 查找数组元素:
var foundElement = array.find(item => {
// 返回数组中符合条件的第一个元素
return item === 3; // 例如,查找值为 3 的元素
});
  1. 判断数组是否包含某个元素:
var containsElement = array.includes(element); // 使用 includes 方法判断数组是否包含指定元素
  1. 搜索数组元素的索引:
var index = array.indexOf(element); // 返回数组中指定元素的索引值
var lastIndex = array.lastIndexOf(element); // 返回数组中指定元素的最后一个匹配的索引值
  1. 数组映射(Mapping):
var transformedArray = array.map(item => {
// 根据数组的每个元素进行转换,并返回一个新的数组
return item * 2; // 例如,将数组的每个元素乘以 2
});
  1. 数组的切片和连接:
var subArray = array.slice(startIndex, endIndex); // 从数组中提取指定范围的元素,返回一个新的数组
var concatenatedArray = array1.concat(array2); // 将两个数组连接起来,返回一个新的数组
  1. 数组的反转:
array.reverse(); // 反转数组的顺序,改变原数组
  1. 数组的去重:
var uniqueArray = Array.from(new Set(array)); // 将数组转换为 Set 对象,再将 Set 转换为数组,实现去重
  1. 用于过滤数组中的重复项:
var uniqueArray = array.filter(function(item, index, arr){
return arr.indexOf(item) === index;
});
  1. 用于对数组的所有元素应用一个函数:
array.forEach(function(item, index, arr){
console.log(item, index);
});
  1. 用于在数组中查找具有一定条件的值:
var result = array.find(function(item, index, arr) {
return item.name === 'user1'; //如果返回 true 那么这个 item 的值会被返回,之后查找结束
}); console.log(result); //{name: "user1", age: 18}
  1. 用于返回数组中满足条件的元素组成的新数组:
var result = array.filter(function(item, index, arr){
return item.age >=18 && item.age <= 25;
}); console.log(result); // [{name:"user1", age:18}, {name:"user2", age:20}]
  1. 用于对数组中的元素进行排序:
array.sort(function(a,b) {
if (a > b) {
return 1;
} else if (a < b) {
return -1;
} else {
return 1;
}
}); console.log(array);
// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
  1. 用于向数组的开头添加一个或多个元素,并返回新的长度:
var length = array.unshift(1,2,3,4);
console.log(array); // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
console.log(length); // 14

微信小程序中的数组有许多常用的方法和用法的更多相关文章

  1. 关于微信小程序中的样式使用变量值的方法

    在开发过程中,通常碰到样式非固定的情况,这时候就要使用变量来规定样式,例如,一个view的宽度需要使用变量: 1. 在wxss中,定义变量:width:var(--width--); 2. 在js中, ...

  2. 微信小程序中如何使用setData修改数组或对象中的某一参数

    本人也是刚开始接触微信小程序,在微信小程序中经常会遇到修改数组中某一项的值,比如array[0]或者是对象中object.item的值.这些值在微信小程序中都需要使用一个名为setData的方法,而这 ...

  3. 全栈开发工程师微信小程序-中(下)

    全栈开发工程师微信小程序-中(下) 微信小程序视图层 wxml用于描述页面的结构,wxss用于描述页面的样式,组件用于视图的基本组成单元. // 绑定数据 index.wxml <view> ...

  4. 全栈开发工程师微信小程序-中

    全栈开发工程师微信小程序-中 多媒体及其他的组件 navigator 页面链接 target 在哪个目标上发生跳转,默认当前小程序,可选值self/miniProgram url 当前小程序内的跳转链 ...

  5. 在微信小程序中使用LeanCloud(一)

    之前学习了微信小程序前端,使用到LeanCloud线上数据库 [传送门].作为一个前端开发人员,了解后端及数据库是学习工作的需要. LeanCloud直接登录,未注册直接创建账户.它是一款免费的线上数 ...

  6. 在微信小程序中绘制图表(part2)

    本期大纲 1.确定纵坐标的范围并绘制 2.根据真实数据绘制折线 相关阅读:在微信小程序中绘制图表(part1)在微信小程序中绘制图表(part3) 关注我的 github 项目 查看完整代码. 确定纵 ...

  7. 微信小程序中视频的显示与隐藏

    在微信小程序中实现视频的播放与暂停 需求: 视频列表中只能有一个视频在播放 点击视频实现播放与暂停功能 加载完成显示图片,点击后变为视频播放 从上次播放的位置进行播放 思路: 定义一个标记变量,控制视 ...

  8. 网页或微信小程序中使元素占满整个屏幕高度

    在项目中经常要用到一个容器元素占满屏幕高度和宽度,然后再在这个容器元素里放置其他元素. 宽度很简单就是width:100% 但是高度呢,我们知道的是height:100%必须是在父元素的高度给定了的情 ...

  9. 在微信小程序中使用富文本转化插件wxParse

    在微信小程序中我们往往需要展示一些丰富的页面内容,包括图片.文本等,基本上要求能够解析常规的HTML最好,由于微信的视图标签和HTML标签不一样,但是也有相对应的关系,因此有人把HTML转换做成了一个 ...

  10. 微信小程序中发送模版消息注意事项

    在微信小程序中发送模版消息 参考微信公众平台Api文档地址:https://mp.weixin.qq.com/debug/wxadoc/dev/api/notice.html#模版消息管理 此参考地址 ...

随机推荐

  1. 【开源】给ChatGLM写个,Java对接的SDK

    作者:小傅哥 - 百度搜 小傅哥bugstack 博客:bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 大家好,我是技术UP主小傅哥. 清华大学计算机系的超大规模训练模型 Cha ...

  2. python - networker api

    Getting Started,概述   NetWorker REST API is an interface that provides programmatic access to the Net ...

  3. React技术栈支援Vue项目,你需要提前了解的

    写在前面 react整体是函数式的思想,把组件设计成纯组件,状态和逻辑通过参数传入,而vue的思想是响应式的,也就是基于是数据可变的,通过对每一个属性建立Watcher来监听, 当属性变化的时候,响应 ...

  4. Istio 入门(七):出入口网关 - 负载均衡和熔断等一系列功能

    本教程已加入 Istio 系列:https://istio.whuanle.cn 目录 5,出入口网关 istio-ingressgateway 部署服务 配置 Gateway 子版本 istio-e ...

  5. 【Spring】AOP实现原理

    注册AOP代理创建器 在平时开发过程中,如果想开启AOP,一般会使用@EnableAspectJAutoProxy注解,这样在启动时,它会向Spring容器注册一个代理创建器用于创建代理对象,AOP使 ...

  6. Java安全机制之一——SecurityManager和AccessController

    前言: 在看socket相关代码的时候,AbstractPlainSocketImpl中的一段代码吸引了我,其实之前见过很多次类似的代码,但一直不想去看,只知道肯定和权限什么的相关,这次既然又碰到了就 ...

  7. 《流畅的Python》 读书笔记 第7章_函数装饰器和闭包

    第7章 函数装饰器和闭包 装饰器这个名称可能更适合在编译器领域使用,因为它会遍历并注解句法树 函数装饰器用于在源码中"标记"函数,以某种方式增强函数的行为.这是一项强大的功能,但是 ...

  8. 【Javaweb】六-servlet层

    AdminServlet.jap @WebServlet("/AdminServlet") public class AdminServlet extends HttpServle ...

  9. RLHF · PBRL | B-Pref:生成多样非理性 preference,建立 PBRL benchmark

    论文题目:B-Pref: Benchmarking Preference-Based Reinforcement Learning,2021 NeurIPS Track Datasets and Be ...

  10. 可视化学习:WebGL的基础使用

    引言 继续复习可视化的学习.WebGL和其他Web端的图形系统存在很大的不同,是OpenGL ES规范在浏览器的实现,它最大的不同就在于它更接近底层,可以由开发者直接操作GPU来实现绘图,性能很好,可 ...