js 数组 对象 字符串 常用方法

数组常用方法

1.push和 pop , push往数组最后添加进去一项, pop向数组最后删除一项 , push和pop是一对栈操作 , 遵循先进后出 后进先出

var arr[1,2,3]
console.log(arr.push(4)) // [1,2,3,4]
console.log(arr.pop()) // [1,2]

2.shift个unshift shift是往数组最前面删除一项, unshift是往数组最前面添加一项 , shift和unshift是堆操作 ,遵循先进先出 后进后出

var arr[1,2,3]
console.log(arr.shift()) // [2,3]
console.log(arr.unshift(1)) // [4,2,3]

3, join 将数组转换成字符串

var arr[1,2,3]
// console.log(arr.join(';'));

4.sort 对数组进行排序 会对数据进行挨个对比 另外 sort不传参的话 将会优先把数字排在前面 字母按unicode 编码进行排序

var arr =[2,56,30]
arr.sort(sortNumber)
function sortNumber(a,b){
	return a-b
}
console.log(arr); //[2,30,56] 从小到大

function sortNumber(a,b){
	return b-a
}
console.log(arr); //[56,30,2] 从大到小

5.reverse() 用于翻转数组

var arr =[2,56,30]
console.log(arr); //[56,30,2] 

6.slice() 开始参数从索引0开始 结束参数从索引1开始,并返回截取的数组
并且 arr.slice(0) 可以浅拷贝数组

var arr =[2,56,30]
console.log(arr.slice(1,2)); // [56]
console.log(arr.slice(1,3)); // [56,30]

7.splice() 删除数组数据 参数一表示开始位置索引0开始, 参数二表示截取几个从索引0开始, 并返回截取之后数组

var arr =[2,56,30]
console.log(arr.splice(1,2)); // [56,30]

8.indexof 参数一个表示查找的内容 第二个参数表示从第几个开始查找 索引0开始 找到返回值索引否则返回-1

console.log(arr.indexOf(3,1)); //1

下面介绍几个不会改变原数组的方法

9.forEach forEach不会改变原数组 跟for循环区别在于没有长度的限制 跟forin区别在于forin可以遍历数组跟对象 forEah只能遍历数组

// let aa =[]
// arr.forEach((item,index,arr)=>{
//   if(item>=50){
//     aa.push(item)
//   }
// })
// console.log(aa); //[100,50]

10.filter() 过滤不会改变原数组 创建一个新的数组 并将结果return出去

//  let result=arr.filter(item=>{
//     return item<=50
//  })
 console.log(result); // [ 3, 50 ]

11.map() 返回一个新数组 不会改变原数组 并且也需要return

//  let result=arr.map(item=>{
//     return item<=50
//  })
 console.log(result); // [ 3, 50 ]

12. some() 判断数组中 是否有一项满足条件 则停止执行 返回true或false

let result=arr.some(item=>{
	return item<=50
)
console.log(result) // true

13.every 判断数组中是否全部满足条件 则停止执行 返回true 或false

let result=arr.every(item=>{
	return item<=50
)
console.log(result) // true

14. reduce() 归并 total没有指定的话 那就是赋值第一项100 可以理解为如果没有指定那就是从第二项开始循环 ,currect表示当前项的值,index表示当前项索引,arr表示原数组

数组相加
var arr = [100, 3, 50]
let result =arr.reduce((total,currect,index,arr)=>{
	console.log(total,currect,index); 第一次打印 100 3 1
     return total_currect  // return出去103再次返回给total 
)
console.log(result);  //153

15.array.from() 将对象中拥有length属性的对象 转化成数组

let json={
  0:'11',
  2:'22',
  1:'33',
  length:3
}
let result=Array.from(json)
console.log(result);  //[ '11', '33', '22' ]

16.array.of() 将一组值转换成数组 任意类型 都会被数组包裹

var obj={ name: '张三', age: 2 }
let result=Array.of(obj)
console.log(result); // [ { name: '张三', age: 2 } ]

17.find() 遍历数组 返回第一个满足条件的值 不会改变原数组

var arr = [100, 3, 50]
// let result =arr.find((cur,index,arr)=>{
//   return cur<=50
// })
console.log(result);  //3

18.findIndex遍历数组 返回第一个满足条件的值的索引 没有则返回-1

var arr = [100, 3, 50]
// let result =arr.findIndex((cur,index,arr)=>{
//   return cur<=50
// })
console.log(result);  //1

19.fill 用于使用固定的值 替换数组的值 参数一表示固定的值 参数二是开始位置 从索引0开始 参数三是截止位置 从索引1开始

var arr = [100, 3, 50] 
 let result =arr.fill(0,1,3)
console.log(result);  [ 100, 0, 0 ]

20.includes() 数组满足条件的并返回true 或false

let result =arr.includes(3)
console.log(result); //true

对象常用方法

1.object.assign() 从第二个参数开始 将后面所有对象合并到第一个参数中 如果前后参数名有重复 则会被后面参数同步

var obj = { name: '张三', age: 2 }
var obj1 = { names: '李四', ages: 3 }
var result =Object.assign({},obj,obj1)
console.log(result); //{ name: '张三', age: 2, names: '李四', ages: 3 }

2.object.is() 判断两个参数否指向同一个对象 否则返回false

var obj =  { names: '李四', ages: 3 }
var obj1 = { names: '李四', ages: 3 }
console.log(Object.is(obj,obj1)); //false

3.object.keys() 遍历对象 返回属性名数组

console.log(Object.keys(obj)); // [ 'name', 'age' ]

4.hasOwnProperty() 判断对象是否包含这个属性名(key) 返回true 或者false

console.log(obj.hasOwnProperty('name')); //true

字符串基本方法

1.toString() 将值转换成字符串

var num=3
console.log(typeof num.toString()); //string

2.split() 将字符串分割成数组 括号里面的就是以什么作为判断来分割

var str = '  hello,word  '
 console.log(str.split(', ')); //[ '  hello', 'word  ' ]

3.indexof() 第一个参数是查找的内容 第二个参数从哪开始查找 索引0开始 找到返回当前值索引 否则返回-1

console.log(str.indexOf('h',3)); //false

4.charAt() 和 charCodeAt() charAt返回字符串指定位置的字符 charCodeAt返回指定位置的编码

console.log(str.charAt(8)); //r
console.log(str.charCodeAt(3)); //108

5.match() 匹配符合条件的字符 并返回详细信息

console.log(str.match('ll'));  //[ 'll', index: 2, input: 'hello,word  ', groups: undefined ]

6.concat 字符串拼接 跟数组合并同样用法

var str = 'hello,word  '
var str1 = 'nihao'
console.log(str.concat(str1)); //hello,word  nihao

7.slice 开始参数从索引0开始 结束参数从索引1开始,并返回截取的字符串**

console.log(str.slice(2,5)); // llo

8.toLowerCase()转换小写 toUpperCase()转换大写

// console.log(str.toLowerCase());
// console.log(str.toUpperCase());

9.trim()去掉字符串中的前后的空格

// console.log(str.trim());

10.replace 在字符串将一些字符替换

console.log(str.replace('ll','bb'));

11. search() 查找指定字符串 找到返回索引 没有则返回-1

console.log(str.search('l'));

12.substr() 截取字符串长度 第一个参数是起始位置 索引0开始 第二个参数是从起始位置开始截取的长度

console.log(str.substr(2,3)); // llo

13.substring() 截取字符串长度 第一个参数是起始位置 索引0开始 第二个参数是从索引1开始的

console.log(str.substring(1,2));

14.includes ES6新提出的几个判断字符串是否包含字符串里面 跟indexOf用法一样 返回true or false 也跟数组用法一样

15.repeat() 将原字符串重复n次 并返回一个新的字符串

// var ttt =str.repeat(4)
//  console.log(ttt);  //hello,word  hello,word  hello,word  hello,word 

16.Math.floor 取整数部分 还有种用法是 ~表示取反 ~~表示取反再取反

function _int(value) {
    // 补全代码
    return ~value
}
console.log(_int(2.01)); // -3


function _int(value) {
    // 补全代码
    return ~~value
    
}
console.log(_int(2.01)); // 2


function _int(value) {
    // 补全代码
    return Math.floor(value) 
}
console.log(_int(2.01)); // 2

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张帅涛_666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值