js,javascript数组方法keys(),lastIndexOf(),map(),pop(),push()(2024-04-30)

1、keys() 方法

返回带有数组键的 Array Iterator 对象。

注释:keys() 方法不改变原数组。

javascript 复制代码
// 返回带有数组键的 Array Iterator 对象
const fruits = ["Banana", "Orange", "Apple", "Mango"];
const keys = fruits.keys();
let text = null;
for (let x of keys) {
  text += x;
}
console.log(keys)  //有数组键的 Array Iterator 对象
console.log(text)  // 0123

2、lastIndexOf()方法

lastIndexOf() 方法在数组中搜索指定项目,并返回其位置。

搜索将从指定位置开始,如果未指定开始位置,则从末尾开始,并在数组的开头结束搜索。

如果未找到该项目,则 lastIndexOf() 方法返回 -1。

如果要搜索的项目不止一次出现,lastIndexOf() 方法将返回最后一次出现的位置。

提示:如果要从头到尾搜索,使用 indexOf() 方法。

javascript 复制代码
// 返回指定值的最后一个位置
// 在数组中搜索 "33" 项:
var fruits = ["11", "22", "33", "44"];
var a = fruits.lastIndexOf("33");
// 2

// 在数组中搜索项目 "33",从位置 4 开始搜索:
var fruits = ["111", "222", "333", "444", "555", "333", "333"];
var a = fruits.lastIndexOf("333", 4);
// 3 

3、map() 方法

map() 方法使用为每个数组元素调用函数的结果创建新数组。

按顺序为数组中的每个元素调用一次提供的函数。

注释:map() 对没有值的数组元素不执行函数,map() 不会改变原始数组。

javascript 复制代码
// array.map(function(currentValue, index, arr), thisValue)

const numbers = [1, 2, 3, 4];
const newArr = numbers.map((item) => {
return item*10
});

console.log(newArr) // [10,20,30,40]

4、pop() 方法

pop() 方法移除数组的最后一个元素,并返回该元素。

注释:会改变数组的长度。

提示:如需删除数组的第一个元素,请使用 shift() 方法。

javascript 复制代码
const fruits = ["11", "22", "33", "44"];
fruits.pop();   // Returns "44"

5、push() 方法

push() 方法向数组末尾添加新项目,并返回新长度。

提示:新的项目将被添加到数组的末尾。

注释:push() 方法会改变数组的长度。

提示:如需在数组的开头添加项目,请使用 unshift() 方法。

javascript 复制代码
let f = ["11", "22", "33"];
const a = f.push("44");

console.log(f) // ["11","22","33","44"]
console.log(a) // 5
相关推荐
1024肥宅8 分钟前
现代 JavaScript 特性:TypeScript 深度解析与实践
前端·javascript·typescript
用户479492835691517 分钟前
并发编程里的"堵车"与"红绿灯":死锁、活锁与两种锁策略(乐观锁、悲观锁)
前端·后端
一 乐19 分钟前
智慧医药|基于springboot + vue智慧医药系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·后端
ytttr87322 分钟前
基于 C# WinForm 实现的 电影院售票系统
开发语言·c#
CC码码35 分钟前
告别杂乱数字:用 Intl.NumberFormat 打造全球友好的前端体验
前端·javascript·面试
Tony Bai37 分钟前
Goroutine “气泡”宇宙——Go 并发模型的新维度
开发语言·后端·golang
kandee44 分钟前
vscode混淆js文件的插件用法(jshaman)
javascript·ide·vscode
妮妮喔妮1 小时前
Webpack和Vite优化的区别
前端·webpack·node.js
Larry_Yanan1 小时前
Qt多进程(二)QProcess+stdio
开发语言·qt
码农葫芦侠1 小时前
Qt 跨线程内存管理陷阱:QSharedPointer、deleteLater() 与 QPointer 的致命组合
开发语言·数据库·qt