首页 > 其他分享 >js 操作方法

js 操作方法

时间:2024-01-13 20:00:55浏览次数:23  
标签:blue 操作方法 yellow js colors green 数组 let

如果数组的元素是数值,或者是其 valueOf()方法返回数值的对象(如 Date 对象),这个比较函 数还可以写得更简单,因为这时可以直接用第二个值减去第一个值:

function compare(value1, value2){
      return value2 - value1;
}

比较函数就是要返回小于 0、0 和大于 0 的数值,因此减法操作完全可以满足要求。

对于数组中的元素,我们有很多操作方法。比如,concat()方法可以在现有数组全部元素基础上 创建一个新数组。它首先会创建一个当前数组的副本,然后再把它的参数添加到副本末尾,最后返回这 个新构建的数组。

如果传入一个或多个数组,则 concat()会把这些数组的每一项都添加到结果数组。 如果参数不是数组,则直接把它们添加到结果数组末尾。来看下面的例子:

let colors = ["red", "green", "blue"];
    let colors2 = colors.concat("yellow", ["black", "brown"]);
console.log(colors); // ["red", "green","blue"]
console.log(colors2); // ["red", "green", "blue", "yellow", "black", "brown"]

这里先创建一个包含 3 个值的数组 colors。然后 colors 调用 concat()方法,传入字符串"yellow" 和一个包含"black"和"brown"的数组。保存在 colors2 中的结果就是["red", "green", "blue", "yellow", "black", "brown"]。原始数组 colors 保持不变。

打平数组参数的行为可以重写,方法是在参数数组上指定一个特殊的符号:Symbol.isConcat- Spreadable。这个符号能够阻止 concat()打平参数数组。相反,把这个值设置为 true 可以强制打平 类数组对象:

let colors = ["red", "green", "blue"];
    let newColors = ["black", "brown"];
    let moreNewColors = {
      [Symbol.isConcatSpreadable]: true,
      length: 2,
      0: "pink",
      1: "cyan"
    };
    newColors[Symbol.isConcatSpreadable] = false;
// 强制不打平数组
let colors2 = colors.concat("yellow", newColors);
// 强制打平类数组对象
let colors3 = colors.concat(moreNewColors);
console.log(colors); // ["red", "green", "blue"]
console.log(colors2); // ["red", "green", "blue", "yellow", ["black", "brown"]] console.log(colors3); // ["red", "green", "blue", "pink", "cyan"]

接下来,方法 slice()用于创建一个包含原有数组中一个或多个元素的新数组。slice()方法可以 接收一个或两个参数:返回元素的开始索引和结束索引。如果只有一个参数,则 slice()会返回该索引 到数组末尾的所有元素。如果有两个参数,则 slice()返回从开始索引到结束索引对应的所有元素,其 中不包含结束索引对应的元素。记住,这个操作不影响原始数组。来看下面的例子:

let colors = ["red", "green", "blue", "yellow", "purple"];
    let colors2 = colors.slice(1);
    let colors3 = colors.slice(1, 4);
    alert(colors2);  // green,blue,yellow,purple
    alert(colors3);  // green,blue,yellow

这里,colors 数组一开始有 5 个元素。调用 slice()传入 1 会得到包含 4 个元素的新数组。

标签:blue,操作方法,yellow,js,colors,green,数组,let
From: https://blog.51cto.com/u_16237074/9233127

相关文章

  • JS常用工具:Webpack 和 JShaman分别有什么用?
    Webpack和JShaman是两个不同的工具,它们的特点和用途也不同。Webpack是一个前端资源模块打包工具,主要用于将各种静态资源(如JavaScript、CSS、图片等)视为模块,并将其打包成浏览器可以识别的代码。Webpack的特点包括:1.模块化:Webpack将各种资源视为模块,使开发者能够更好地组织和管理项......
  • JS常用工具:Webpack 和 JShaman分别有什么用?
    Webpack和JShaman是两个不同的工具,它们的特点和用途也不同。Webpack是一个前端资源模块打包工具,主要用于将各种静态资源(如JavaScript、CSS、图片等)视为模块,并将其打包成浏览器可以识别的代码。Webpack的特点包括:1.模块化:Webpack将各种资源视为模块,使开发者能够更好地组织和管理......
  • springboot mybatis postgres 对于json类型的字段转换
    在SpringBoot与MyBatis结合使用时,处理PostgreSQL中的JSON类型字段的转换可以分为以下步骤:自定义TypeHandler:为了在Java实体类与数据库的JSON类型字段之间进行转换,需要创建一个自定义的 TypeHandler。例如,针对JSONObject类型的转换器可以这样实现:importorg.apache.ibatis.type.B......
  • 这一次,弄明白JS中的文件相关(一):概念篇
    概念是学习的基础。在学习JS中的文件操作之前,先把文件相关的各种概念搞清楚,很有好处。 1.二进制:计算机硬件仅能处理和存储二进制数据,所以不管是你正在写的代码,还是你硬盘里的小姐姐,都是以二进制的形式存储于电脑的内存和硬盘里的。2.编码规则:二进制计算机看得懂,我们看......
  • Chrome 浏览器插件 V3 版本 Manifest.json 文件中 Action 的类型(Types)、方法(Methods)和
    一、类型(Types)一、OpenPopupOptions1.属性windowId:number可选打开操作弹出式窗口的窗口ID。如果未指定,则默认为当前活动窗口。二、TabDetails1.属性tabId:number可选要查询其状态的标签页ID。如果未指定标签页,则返回非标签页专属状态。三、UserSettin......
  • GIS融合之路(二)CesiumJS和ThreeJS深度缓冲区整合
    在这篇文章开始前再次重申一下,山海鲸并没有使用ThreeJS引擎。但由于ThreeJS引擎使用广泛,下文中直接用ThreeJS同CesiumJS的整合方案代替山海鲸中3D引擎和CesiumJS整合。系列传送门:山海鲸可视化:GIS融合之路(一)技术选型CesiumJS/loaders.gl/iTowns?文章开始之前大家可以看下这个视......
  • GIS融合之路(一)技术选型CesiumJS/loaders.gl/iTowns
    大家好,我是山海鲸的技术负责人。今天来和大家分享一下山海鲸可视化在数字孪生系统当中对GIS系统的整合之路,大家可以移步视频教程中看一下目前的整合效果。【山海鲸可视化GIS系统】第六课GIS与数字孪生_哔哩哔哩熟悉山海鲸的朋友应该知道,山海鲸可视化在3.0之后,在软件内部整合了......
  • pyspark json数据解析
    PySpark中的JSON数据解析在大数据处理中,JSON(JavaScriptObjectNotation)是一种常用的数据格式。它以易读的文本形式表示数据,常用于跨平台数据交换。在PySpark中,我们可以使用JSON数据作为输入,并使用内置的函数解析和处理这些数据。本文将介绍如何在PySpark中解析JSON数据,并提供相关......
  • js string转html节点
    1、varstr="<h1>这是一个标题</h1>";varparser=newDOMParser();vardoc=parser.parseFromString(str,"text/html");varhtml=doc.body.firstChild;2、conststr="<h1>这是一个标题</h1>";constfragment=d......
  • 一行代码解决Three.js中只能在一侧看到物体的问题
    项目场景:  因为该项目比较复杂庞大,在此就简单介绍一下:  通过Three.js创建若干个物体进行了组装,从而形成了一个类似眼球模拟模型的项目,用户可以通过拖动鼠标来达到控制视角(摄像机)的目的,以此来观察整个眼球状态。Image1Three.js眼球模型  注:下面所说的正视为从红线正轴......