首页 > 编程语言 >5 个JavaScript 中 Slice()的用例

5 个JavaScript 中 Slice()的用例

时间:2022-11-21 16:06:18浏览次数:44  
标签:Slice NodeList 函数 索引 可以 JavaScript 用例 slice 数组

5 个JavaScript 中 Slice()的用例_数组

英文 | https://betterprogramming.pub/5-use-cases-for-slice-in-javascript-13462f2e177f

翻译 | 杨小爱


slice() 方法将数组部分的副本返回到新的数组对象中。这个对象是从头到尾选择的。请注意,它不会修改原始数组。

此外,如果向其中一个数组添加新元素,则另一个数组不会受到影响。

参数是什么?

slice() 方法的参数是开始和结束索引。

开始

它是一个从零开始的索引,用于开始复制数组的一部分。如果未定义,则默认值为 0。如果 start 大于数组的索引范围, slice() 方法将返回一个空数组。

此外,首先,您还可以使用负索引。slice(-1) 提取数组的最后一个元素。它类似于 Python。

结尾

该参数是可选的。如果你的 slice() 函数中只有一个参数,那就是 start。如果省略, slice() 方法从序列的末尾提取。

如果它大于序列的长度,slice 一直提取到序列的末尾,只是在它被省略的情况下。

它是结束提取之前的索引。它不包括在内。因此,索引的最后一个元素不包含在数组的副本中。例如, slice(1,3) 提取第二个和第三个元素。

y = [1, 2, 3, 4, 5, 6]
y.slice(2, -2) // will return [3, 4]

这意味着 y 会将数组从索引 2 切片到索引 -2 独占。

1、复制一个数组

第一个功能是 slice() 函数的基本功能。没有参数的数组复制原始数组。有时,您可能想要更新数组中的某些元素。

但是,您可能希望保护原始数组中的元素。因此,您可以创建原始数组的浅表副本。

​const​

2、构造一个以n开头的子数组

slice() 方法的第二个用例是复制以 n 开头的子数组。例如,您正在分析从考试中获得 80 分或更高分的学生。您发现学生的索引从 10 开始。因此,您可以复制成功学生的索引。

const successfulStudents = allStudents.slice(10);

你也可以得到不满意的学生。

const unsatisfactoryStudents = allStudents.slice(-10);

3、将类数组对象转换为数组

您可以使用 slice() 方法将看起来像数组的对象转换为数组。例如,您可以按如下方式创建函数。

function TransformToArray(){
return Array.prototype.slice.call(arguments);
}

var newArray = TransformToArray("1", "2", "3", "4");
console.log(newArray); // ["1", "2", "3", "4"];

4、 将一个 NodeList 转换成一个数组

NodeList 对象是从文档中提取的节点集合。您可以使用 querySelectorAll() 方法返回一个 NodeList 对象。

例如,您可以选择 HTML 文档中的所有 <p> 节点。使用 slice(),您可以将您选择的 NodeList 转换为数组。

var p = document.querySelectorAll(‘p’);
var pNodes = Array.prototype.slice.call(p);

5、替换字符串中的特定索引

您可以使用 slice() 函数创建替换函数。


String.prototype.append = function (index,value) {
return this.slice(0,index) + value + this.slice(index);
};

var s = "Happy year";
alert(s.append(6,"new "));

结论

学习 JavaScript 内置函数的用例可以帮助您提高编码技能。您可以在需要时使用您的知识。您可以优雅地实现功能。

slice() 也是一个有用的内置函数。如果您知道如何使用它,则可以在遇到需要使用它的问题时使用它。您可以使用 slice() 轻松获取数组的副本。

总结一下,本文中 slice() 的用例如下:

  • 复制数组
  • 构造一个从 n 开始的子数组
  • 将类数组对象转换为数组
  • 将 NodeList 转换为数组
  • 替换字符串中的特定索引


学习更多技能请点击下方公众号

5 个JavaScript 中 Slice()的用例_用例_02

5 个JavaScript 中 Slice()的用例_数组_03


标签:Slice,NodeList,函数,索引,可以,JavaScript,用例,slice,数组
From: https://blog.51cto.com/u_15809510/5874058

相关文章

  • 【JavaScript 教程】第四章 程序流程02— 三元运算符使您的代码更简洁
    英文 | https://www.javascripttutorial.net/译文|杨小爱在上节中,我们学习了JavaScript程序流程中的ifelse语句,错过的小伙伴可以点击文章《​​【JavaScript教程】......
  • 【JavaScript 教程】第四章 程序流程01— JavaScript if else 语句
    英文 | https://www.javascripttutorial.net/译文|杨小爱在上节中,我们学习了JavaScript逻辑运算符,错过的小伙伴可以点击文章《​​【JavaScript教程】第三章运算符04......
  • 如何遍历一个普通的 JavaScript 对象?
    英文| https://javascript.plainenglish.io/how-to-loop-through-a-plain-javascript-object-e3d1a45c2319翻译|杨小爱JavaScript对象是通过向它们添加属性来动态创建......
  • 24个带有示例的 JavaScript 数组方法
    英文| https://javascript.plainenglish.io/a-6-minute-guide-to-24-javascript-array-methods-52bf5f0e209c翻译|杨小二1、创建数组在Javascript中有多种创建数组的方......
  • 11个提高技能的JavaScript 技巧,附中奖者名单
    英文|https://levelup.gitconnected.com/12-javascript-features-youve-probably-never-used-db932c413cdd翻译|杨小二当我开始学习JavaScript时,我总是很想找到可以节......
  • javaScript 纯函数
    一个函数的返回结果只依赖于它的参数,并且在执行过程里面没有副作用,我们就把这个函数叫做纯函数。为什么要煞费苦心地构建纯函数?因为纯函数非常靠谱,执行一个纯函数你不用担......
  • 轻松学会JavaScript事件
    文章目录​​事件与事件流​​​​事件监听(绑定事件方法)​​​​JavaScript事件​​​​鼠标事件​​​​表单事件​​​​键盘事件​​​​UI事件​​​​快速投票​​  ......
  • JavaScript基础快速复习
    目录学习信息01初识JavaScript浏览器执行JS过程JS的组成JS初体验JS的注释02JavaScript输入输出语句03变量变量概述变量的使用变量的语法扩展变量的命名规范04数......
  • javascript - 练习题:事件练习 - 贪吃蛇
    贪吃蛇原生JS(非面向对象的方式),渡一教学的笔记;地图坐标{0,0}{1,0}{2,0}{3,0}{4,0}{0,1}{1,1}{2,1}{3,1}{4,1}{0,2}{1,2}{2,2}{3,2}{4,2}{0,3}{1,3}{2,3}{3,3}{4,3}{0,4}{1,4}......
  • javascript入门
    javascript入门1.javascript的介绍JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部......