记录开发过程中遇到的问题及通过自己摸索或查阅网上的教程整理出的解决方案,如有不全或者错误欢迎留言更正
目录
1.es6 新增三种字符串方法
2.对象转字符串/数组转字符串
3.js属性对象的hasOwnProperty方法
4.search() 方法
5.Object.keys方法
正文
1.es6 新增三种字符串方法
includes()方法
该方法返回一个布尔值,true为找到了参数字符串。
let str = "hello world!";
str.includes('he') //true
startsWith()方法
该方法判断一个字符串是否在另一个字符串的头部,返回一个布尔值,true表示存在
let str = "hello world!";
str.startsWith('he'); //true
str.startsWith('ld'); //false
endsWith()方法
该方法跟startsWith()相反,判断字符串是否在另一个字符串的尾部,返回一个布尔值,true表示存在
let str = "hello world!";
str.endsWith('he'); //false
str.endsWith('ld'); //true
2.对象转字符串/数组转字符串
对象转字符串方法
let obj = {
id: 123,
name: 'aaa'
}
json.JSON.stringify(obj)
数组转字符串方法
let arr = [1,2,3,4]
arr.toString()
3. js属性对象的hasOwnProperty方法
Object的hasOwnProperty()方法返回一个布尔值,判断对象是否包含特定的自身(非继承)属性
判断自身属性是否存在
var o = new Object();
o.prop = 'exists';
function changeO() {
o.newprop = o.prop;
delete o.prop;
}
o.hasOwnProperty('prop'); // true
changeO();
o.hasOwnProperty('prop'); // false
4.search() 方法
search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。
stringObject.search(regexp)
参数可以是需要在 stringObject 中检索的子串,也可以是需要检索的 RegExp 对象。
注释
要执行忽略大小写的检索,请追加标志 i。
如果没有找到任何匹配的子串,则返回 -1。
search() 方法不执行全局匹配,它将忽略标志 g。它同时忽略 regexp 的 lastIndex 属性,并 且总是从字符串的开始进行检索,这意味着它总是返回 stringObject 的第一个匹配的位置。
5. Object.keys方法
语法
语法: Object.keys(obj)
参数:要返回其枚举自身属性的对象
返回值:一个表示给定对象的所有可枚举属性的字符串数组
注意
处理对象,返回可枚举的属性数组
let person = {name:"张三",age:25,address:"深圳",getName:function(){}}
Object.keys(person) // ["name", "age", "address","getName"]
处理数组,返回索引值数组
let arr = [1,2,3,4,5,6]
Object.keys(arr) // ["0", "1", "2", "3", "4", "5"]
处理字符串,返回索引值数组
let str = "saasd字符串"
Object.keys(str) // ["0", "1", "2", "3", "4", "5", "6", "7"]