数组操作
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。如果省略该参数,那么返回的子串会一直到字符串的结尾。