数组和字符串的基础操作方法

本文介绍了JavaScript中数组的方法,如find()、concat()、slice()、reverse()、indexOf()、splice()、sort(),以及字符串操作,包括转换、查找、替换等。同时提到了严格模式和ASCII码的相关知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数组操作
find
find() 方法返回通过测试(函数内判断)的数组的第一个元素的值。

var arr=[1,2,3,4,5,6,7,8,9,10]
arr.find(item=>{
// find() 方法为数组中的每个元素都调用一次函数执行:
// 当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。
// 如果没有符合条件的元素返回 undefined
return item>5
})

// 输出结果
6
注意: find() 对于空数组,函数是不会执行的。

注意: find() 并没有改变数组的原始值。
————————————————
版权声明:本文为优快云博主「晚星@」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/asd577007722/article/details/114888566
concat- 连接数组

返回值:拼接以后的数组

var res = arr.concat([100, 200, 300])
// var res = arr.concat([100, 200, 300], ‘str’, [‘324’])
// console.log(res)

slice - 复制

返回值:复制出来的新数组

ar res = arr.slice()
// res.push(100)
// var res = arr.slice(1) // 可以使用负数,从后往前算
// var res = arr.slice(1, 3) // 包含开始位置,不包含结束位置
// console.log(arr)
// console.log(res)

reverse-反转

● 返回值:反转后的数组

var res = arr.reverse()
console.log(res)

###indexOf- 查找(ES5新增)

返回值:找到返回下标,找不到返回-1

var res = arr.indexOf(100)
// if (res !== -1) {
// return true
// } else {
// return false
// }
// var str = ‘abc123学习.avi’
// var n = str.indexOf(‘.’)
// console.log(str.slice(n))

splice剪切

剪切改变原数组,复制是不改变原数组

var res = arr.splice(0)
// var res = arr.splice(2, 2) // 第一个参数是下标,第二参数是个数
// var res = arr.splice(2, 2, ‘str’, ‘hello’) // 第三个参数开始就是添加
// console.log(arr)
// console.log(res)

sort - 排序

arr.sort() // 排序字符串,排序数字不能直接排序,需要使用参数传参的方法
arr.sort(function (a, b) { return b - a }) // a - b从小到大,b - a从大到小
console.log(arr)
// 按name排列
var users =[
{ “name”: “has”, “age”: 17, “height”: 165 },
{ “name”: “saf”, “age”: 20, “height”: 172 },
{ “name”: “gngh”, “age”: 45, “height”: 182 },
{ “name”: “yjerw”, “age”: 42, “height”: 156 },
{ “name”: “cvb”, “age”: 22, “height”: 176 },
{ “name”: “wetty”, “age”: 32, “height”: 178 },
{ “name”: “aDNY”, “age”: 34, “height”: 175 }
]
var users.sort(function (a, b) {
return a.name - b.name;
});
// 结果:
/*
name:aDNY age:34 height:175
name:cvb age:22 height:176
name:gngh age:45 height:182
name:has age:17 height:165
name:saf age:20 height:172
name:wetty age:32 height:178
name:yjerw age:42 height:156
*/

数组转字符串 join

console.log(str3.join(‘’))

严格模式

‘use strict’

写代码之前加

变量不加var也可以生效,是浏览器运行,但是不符合w3c规范
// a = 12
// console.log(a)

    // function fn() {
    //     // 严格模式下不允许不带var的变量
    //     a = 100
    // }
    // fn()
    // console.log(a)

    // 计算机内有这个定义就不会报错,会算做修改
    // var a = 100
    // function fn() {
    //     a = 200
    // }
    // fn()
    // console.log(a)       // 200

    // 不允许定义和调用不在同一个作用域下
    if (true) {
        function fn() {
            console.log('fn函数')
        }
    }
    fn()

循环数组

● ele => element
● index => 下标
● arr => 原数组

forEach

arr.forEach(function (ele, index, arr) {
// // console.log(ele)
// // console.log(index)
// // console.log(arr)
// })

map

  • 有返回值,可以按条件返回一个布尔值的数组
    // var res = arr.map(function (ele, index, arr) {
    // // console.log(ele)
    // // console.log(index)
    // return ele > 50
    // })
    // console.log(res)

filter

  • 有返回值,把符合条件的内容组成一个新数组
    // var res = arr.filter(function (ele, index, arr) {
    // return ele > 50
    // })
    // console.log(res)

some

返回值:有一个符合条件就返回true
// var res = arr.some(function (ele) {
// return ele > 50
// })
// console.log(res)

every

  • 返回值:有一个不符合条件就返回false
    // var res = arr.every(function (ele) {
    // return ele > 50
    // })
    // console.log(res)

ASCII码

ASCII
126位
中文
4e00 - 9fa5

for (var i = 0x4e00; i <= 0x9fa5; i++) {
document.write(String.fromCharCode(i) + ’ ')
}

字符串

字符串定义

字面量
// var str = ‘hello’
// console.log(str)
// console.log(str[2])
// console.log(str.length)
构造函数
// var str2 = new String(‘qianfeng’)
// console.log(str2)

字符串常用方法

indexOf lastIndexOf slice split repalce toUppcase toLowerCase

indexOf

  • 查找:找到返回下标,找不到返回-1
    // console.log(str.indexOf(‘e’))

toFixed()方法
需注意,保留两位小数,将数值类型的数据改变成了字符串类型
1 // 1.四舍五入
2 var num =2.446242342;
3 num = num.toFixed(2);
4 console.log(num); //2.45
5 console.log(typeof num); // string
————————————————
版权声明:本文为优快云博主「十年砍柴—小火苗」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/zhanghao143lina/article/details/121332734
lastIndexOf

  • 查找最后一次出现定位置,找不到返回-1
    // console.log(str.lastIndexOf(‘e’))
    // var str2 = ‘学习.jpg.mp3.wmv.mp4.avi’
    // var n = str2.lastIndexOf(‘.’)
    // console.log(str2.slice(n))

slice

  • 复制
    // console.log(str.slice())
    // console.log(str.slice(2))
    // console.log(str.slice(2, 5))

split

  • 字符串转数组
    // console.log(str.split())
    // console.log(str.split(‘’))
    // console.log(str.split(’ ‘))
    // var str3 = ‘2022-6-14’
    // console.log(str3.split(’-'))

repalce

  • 替换
    // console.log(str.replace(‘e’, ‘'))
    // console.log(str.replace(/e/g, '
    ’))
    // console.log(str3.replace(/-/g, ‘/’))

toUpperCase

  • 转大写
    console.log(str.toUpperCase())

toLowerCase

  • 转小写

console.log(str.toLowerCase())

includes
查找字符串是否包含 “Runoob”:
varn = str.includes(“Runoob”);
如果找到匹配的字符串则返回 true,否则返回 false。
注意: includes() 方法区分大小写。
substring
substring() 方法用于提取字符串中介于两个指定下标之间的字符
string.substring(start,stop)
参数 描述
start 必需。一个非负的整数,规定要提取的子串的第一个字符在 string 中的位置。
stop 可选。一个非负的整数,比要提取的子串的最后一个字符在 string 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值