首页 >web前端 >js教程 >JavaScript 数组方法。

JavaScript 数组方法。

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-08 14:26:11403浏览

话不多说,我们去上班吧。在这篇文章中,我们将熟悉 javascript 编程语言中的数组方法并解决相关问题。


添加元素,更改。

  • 长度()
  • 推()
  • concat()

关。

  • 弹出()
  • 移位()
  • 拼接()
  • 删除数组[i]

搜索

  • 查找(函数())
  • indexOf()

安排

  • sort() 用于数字, 用于字符串

撤销

  • 反向()

添加和修改项目。

length 方法查找数组的元素数量或长度。
需要注意的是,Javascript中数组的类型是object。如果你之前学过c/c或者java这样的语言,这可能看起来有点混乱。在 JavaScript 中,数组本身实际上是 data-type ,这与 c/c 中的数组不同。在 JS 中,可以将不同类型的数据存储在一个数组中。

// Arrayning uzunligi, o'lchami
const array = ["nimadir", "kimdir", true, 55, 4.6];
console.log(`arrayning uzunligi ${array.length}`);

JavaScript array metodlari.


从数组末尾添加一个新元素。

您可能有一个问题。是否可以改变常量变量的值?是的,我们通过 push() 方法插入一个新元素,但我们没有为数组设置新值。

// push(), array oxiriga yangi element qo'shish
const array = ["nimadir", "kimdir", true, 55, 4.6];
array.push("yangi element");
console.log(`arrayning uzunligi: ${array} \n`);

JavaScript array metodlari.


合并两个数组(连接)。

concat() 方法将合并两个数组。

// concat(), ikki arrayni birlashtirish
let array1 = ["nimadir", "kimdir", true, 55, 4.6];
let array2 = [8, 3, 9];
console.log("array1: " + array1, "\n", "array2: " + array2 + "\n");

let result = array1.concat(array2);
console.log(
  `Ikki array bitta yangi arrayga birlashtirildi: result [${result}] \n`
);

JavaScript array metodlari.


从数组中删除一个元素。

在 JavaScript 中删除数组元素有多种不同的方法。
pop() 方法用于从数组末尾删除一个元素。

// pop(), arrayning oxiridan bitta element o'chiradi
let array1 = [6, "satr", true, 55, 4.6];
console.log(`\navval:  [${array1}]\n`);

array1.pop();
console.log(`keyin:  [${array1}]\n`);

JavaScript array metodlari.


shift() 方法从数组的开头删除一个元素

// shift() Metodi

const array = [44, 5.3, 2, 14, 98, "text", "olma"];
console.log(`\navval: [${array}] \n`);

array.shift();
console.log(`keyin: 44 arrayda emas [${array}]\n`);

JavaScript array metodlari.


splice() 方法的独特之处在于它不仅用于删除元素,还用于修改数据。出于删除目的,该方法采用两个值。

  • first:是删除元素的起始索引。
  • 第二个:要删除多少个元素。

例如: const array = [44, 5.3, 2, 14, 98, "text", "apple"];有。我们要删除 2 个元素,从索引 3 开始,即 14(14 本身被删除),2 个元素。

// Arrayning uzunligi, o'lchami
const array = ["nimadir", "kimdir", true, 55, 4.6];
console.log(`arrayning uzunligi ${array.length}`);

JavaScript array metodlari.
为了进行替换,使用 splice() 如下。

  1. 开始索引 array.splice(3, ...)
  2. 要交换多少个元素 array.splice(3, 2, ...)
  3. 分别插入新元素 array.splice(3, 2, "new1", "new2")
// push(), array oxiriga yangi element qo'shish
const array = ["nimadir", "kimdir", true, 55, 4.6];
array.push("yangi element");
console.log(`arrayning uzunligi: ${array} \n`);

JavaScript array metodlari.


delete array[i] 方法是删除数组元素的最简单方法。在这种情况下,写入的是要删除的元素的索引,而不是 [i]。

// concat(), ikki arrayni birlashtirish
let array1 = ["nimadir", "kimdir", true, 55, 4.6];
let array2 = [8, 3, 9];
console.log("array1: " + array1, "\n", "array2: " + array2 + "\n");

let result = array1.concat(array2);
console.log(
  `Ikki array bitta yangi arrayga birlashtirildi: result [${result}] \n`
);

JavaScript array metodlari.


从数组中搜索

find(function()) 方法用于从数组中搜索给定元素。将函数作为值写入此方法,并为该函数提供要搜索的元素。该函数不返回索引,如果搜索到的元素存在于数组中,则返回该元素,否则返回未定义。

// pop(), arrayning oxiridan bitta element o'chiradi
let array1 = [6, "satr", true, 55, 4.6];
console.log(`\navval:  [${array1}]\n`);

array1.pop();
console.log(`keyin:  [${array1}]\n`);

JavaScript array metodlari.


indexOf() 方法返回搜索元素的索引。

// shift() Metodi

const array = [44, 5.3, 2, 14, 98, "text", "olma"];
console.log(`\navval: [${array}] \n`);

array.shift();
console.log(`keyin: 44 arrayda emas [${array}]\n`);

JavaScript array metodlari.


安排

sort() 方法,这就是 JavaScript 的“头痛”开始的地方。乍一看,sort()方法看起来很简单,但实际上在幕后还有另一个过程在进行。默认情况下, sort() 对 strings 进行排序,但如果给出整数或数值,则可以正确排序。但是 JavaScript 如果愿意的话就会对数字进行排序,如果不想的话则不会(开个玩笑):)

// splice() Metodi

const array = [44, 5.3, 2, 14, 98, "text", "olma"];
console.log(`\navval: [${array}] \n`);

array.splice(3, 2);

console.log(`keyin: 14 va 98 elementlari o'chdi [${array}]\n`);

JavaScript array metodlari.


数值如下。

// splice() Metodi

const array = [44, 5.3, 2, 14, 98, "text", "olma"];
console.log(`\navval: [${array}] \n`);

array.splice(3, 2, "yangi1", "yangi2");

console.log(`keyin: 14 va 98 elementlari almashtirildi [${array}]\n`);

JavaScript array metodlari.


那有什么问题吗?

你可以说,我们继续吧。

// Arrayning uzunligi, o'lchami
const array = ["nimadir", "kimdir", true, 55, 4.6];
console.log(`arrayning uzunligi ${array.length}`);

JavaScript array metodlari.

停下来,看看结果,排序后的数组:[100,1021,30,45,61,8] 那是什么!?
JavaScript 将数组作为字符串进行排序。即使给出了一个数字,它也会被转换为 ascii 代码并按字典顺序排序,即像字符串一样。这会导致错误。在该问题中,100 应该是最后一个数字,30 应该是在 100 之前。作为字符,1 在 3 之前,因此会发生错误(参见 ascii 表!)。为了解决这个问题,我们将 function() 赋予 sort() 方法。

// push(), array oxiriga yangi element qo'shish
const array = ["nimadir", "kimdir", true, 55, 4.6];
array.push("yangi element");
console.log(`arrayning uzunligi: ${array} \n`);
函数

array.sort((a, b) => a - b); 比较数组中的两个元素并确定它们的顺序。

  • a 和 b:这是数组中要比较的两个元素。 sort() 方法对所有元素进行两两比较(例如 a 和 b),并根据比较函数的结果对它们进行排列。
  • a - b:通过计算这些差异,确定元素的顺序:
  1. 如果 a - b 为负数(即 a
  2. 如果 a - b 为正(即 a > b),则 b 优先于 a。
  3. 如果 a - b 为零(即 a === b),那么它们不是互斥的。

结果:

JavaScript array metodlari.


翻转

reverse() 方法创建一个与其名称给定的数组相反的数组。

// concat(), ikki arrayni birlashtirish
let array1 = ["nimadir", "kimdir", true, 55, 4.6];
let array2 = [8, 3, 9];
console.log("array1: " + array1, "\n", "array2: " + array2 + "\n");

let result = array1.concat(array2);
console.log(
  `Ikki array bitta yangi arrayga birlashtirildi: result [${result}] \n`
);

结果:

JavaScript array metodlari.


希望您通过这篇文章获得了有关 JavaScript 数组方法的知识,并将这篇文章分享给您正在学习 JS 的亲人!

要审查的问题:

1。添加元素,更改:

a.长度()

问题:想象一个包含 1000 个值的大数组。如果你只需要输出数组中元素的数量,你会使用什么方法?元素数量如何随着数组的更改而变化?
问题:如果需要向给定数组的末尾添加 1000 个新元素,请确定数组的长度。哪种方法最有效?

b.推()

问题:您有一个数组,其中每个元素都相同。每次添加新元素时,都必须替换数组末尾的元素。如何优化这些操作?
问题:您有一个名为任务的数组,其中包含需要执行的各种任务。每次您需要添加新任务并更新列表末尾的任务。你是如何做到这一点的?

c.连接()

问题:您需要合并两个数组并以相同的格式显示它们。第一个数组仅包含简单数字,第二个数组仅包含数字字符串。如何从它们创建一个新数组并以数字格式输出所有数字?
问题:您有两个数组,一个包含有关用户的信息,另一个包含用户的登录历史记录。您需要合并这些数组,但您只想显示用户的活动状态历史记录。你是如何做到这一点的?

2。删除:

a.弹出()

问题:您有多个用户列表,每次都需要从列表中删除最后一个用户。但您只想保留过去 3 天的活跃用户。你如何管理它们?
问题:您有一个名为 books 的数组,其中包含有关各种书籍的信息。每次您都需要删除最后一本书并添加新书。你是怎么做到的?

b.移位()

问题:想象一个用户正在等待轮到的队列过程。每次注销下一个用户并输入新用户时。这个过程如何进行?
问题:您有一个按用户登录时间组织的数组。您每次都必须取消订阅第一个用户。你是如何做到这一点的?

c.拼接()

问题:您有一个学生列表,每次您需要从列表中更改或删除 3 个学生。这个过程如何进行?
问题:您有一个问题列表。每次都需要删除和更改几个问题。更改问题时,其他问题必须保持正确的顺序。你是如何做到这一点的?

d.删除数组[i]

问题:你有一个很大的数组,你需要根据其索引删除一个元素。删除一个元素时应该做什么,考虑到数组中其他元素如何更改?
问题:您有一个客户列表,每个客户都有一个唯一的 ID 号。可以使用什么方法取消给定 ID 的客户注册?

3。搜索:

a.查找(函数())

问题:您有一个用户列表。每个用户都有一个 ID 号和一个姓名。您只需要获取名为“John”的用户的信息。你是如何做到这一点的?
问题:您有一个产品列表,每个产品都有名称和价格。你只需要寻找价格在100以上的产品。你是如何做到这一点的?

b. indexOf()

问题:您有一个书籍列表,每本书都有一个标题和作者。如果用户搜索一本书,请根据名称确定它位于哪个索引中。
问题:您有一个产品列表,每个产品都分配有一个唯一的标识号。如果用户正在寻找产品,您应该能够根据其 ID 号找到它。这是怎么做到的?

4。订单:

a. sort()(数字)

问题:您有多个学生评分。按成绩从低到高排序,但按姓名对相同成绩的学生进行排序。
问题:您有一个包含产品价格的数组。您可以按降序排列价格,但如果价格相同,则按销售日期排序。

b. sort()(对于字符串)

问题:您有一系列客户名称。您应该按字母顺序对它们进行排序,但只能按大写
问题:您有书名。您想按照所有书籍中单词的长度对它们进行排序。你是如何做到这一点的?

5。点击:

a.反转()

问题:您有一个由多个数字组成的数组。您必须以相反的顺序输出该数组。如何计算这个的变化?
问题:您有一个文本列表,并且想要以相反的顺序输出文本。如果文本长度都相同,你会得到什么?

错误和问题

以上是JavaScript 数组方法。的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn