参考链接:https://blog.csdn.net/lgno2/article/details/124996065 对象属性的可枚举和不可枚举 for in 循环只能遍历可枚举的,如果含有 Symbol...,则无法遍历,会报错 Uncaught TypeError: obj is not iterable https://developer.mozilla.org/zh-CN/docs/Web/JavaScript...false false false 继承的 Symbol 键 true false false false false false false false JSON.stringify(xxx),此方法也只能读取对象本身的可枚举属性
, '2':'c'}; for(let i in obj){ console.log(i,":",obj[i]);//{0:a,1:b,2:c} } 法二:使用Object.keys遍历...obj).forEach(function(key){ console.log(key,obj[key]);//{0:a,1:b,2:c} } 法三:使用getOwnPropertyNames遍历
简介 JS中经常需要对对象的属性进行遍历,下面我们来总结一下JS遍历对象属性的几种方法。...2. for...in... for...in...循环会遍历对象自身的和继承的可枚举属性(不含Symbol属性)。...,返回该对象自身可枚举属性的键值对数组,其排列与使用for...in...循环循环遍历该对象时返回的顺序一致(区别在于 for-in 循环也枚举原型链中的属性)。...参考 如何遍历JS对象中所有的属性 包括enumerable=false的属性?...javaScript遍历对象、数组总结 【探秘ES6】系列专栏(八):JS的第七种基本类型Symbols MDN-Object
遍历有如下几种方式 数组方法 map forEach filter find findIndex every some reduce reduceRight 其他方法 for for in for...of 数组方法 map 核心 创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。...[“子项0”, “子项1”, “子项2”] console.log(filterResult); [“子项0”] 缺陷 可以使用return,但是不能使用break和continue find 核心 遍历数组...b)=>{return a +b; }); console.log(reduceRightResult);//结果: 10 缺陷 可以使用return,但是不能使用break和continue 其他方法...return for(let value of testArr){if(value === ‘子项1’){return; } console.log(value); }//结果为什么也没有 注意⚠️ 数组方法都不可以用
如果只想遍历对象自身的属性,可以通过hasOwnProperty()方法来判断属性是否为对象自身的属性。...你可以选择其中一种方法根据需要遍历对象的属性。Object.keys()方法结合forEach()循环Object.keys(obj)会返回一个包含对象自身可枚举属性的数组。...我们可以使用forEach()方法来遍历这个数组,并对每个属性进行操作。...我们可以使用forEach()方法来遍历这个数组,并对每个键值对进行操作。...我们可以使用forEach()方法来遍历这个数组,并对每个属性进行操作。
for 最简单的一种循环遍历方法,也是使用频率最高的一种,可优化 循环过程中支持修改索引(修改 i) var arr = [1, 2, 3, 4, 5, 6] for(var i =...,但仍然比不上普通的 for 循环 注意:不能循环对象,因为任何数据结构只要部署 Iterator接口,就可以完成遍历操作,有些数据结构原生具备 Iterator 接口,比如Array、Map、Set...、String等,而 Iterator 接口是部署在数据结构的Symbol.iterator属性上的,而对象Object恰恰是没有Symbol.iterator属性的,所以无法被for..of遍历 var...数组里的元素个数有几个,该方法里的回调就会执行几次 2. 第一个参数是数组里的元素,第二个参数为数组里元素的索引,第三个参数则是它自己(利用第三个参数可以进行数组去重) 3....数组自带的遍历方法,foreach在循环次数未知或者计算起来较复杂的情况下效率比for循环高 4.
concat()(数组中也有该方法) 参数:一个或多个字符串 将一个会多个字符串拼接起来,当然更常用的是使用 “+” 进行拼接 substring()与slice()(数组中也有此方法) 参数:指定子字符串的开始位置...0 repeat()会报错 字符串位置方法 indexOf()和lastIndexOf()(数组中也有该方法) 参数:要搜索的子字符串,开始搜索的位置(可选) 搜索给定的子字符串,如果找到则返回位置...在字符串上调用这个方法本质上与调用RegExp的exec()方法相同。...,则返回正数(大多数情况下为1) fromCharCode() String构造函数的一个静态方法 参数:一个或多个字符串编码 作用:将接收到的一个或多个字符串编码转换成一个字符串,这个方法与实例方法...let s = 'hello'; let news = s.split('').reverse().join(''); console.log(news); // => "olleh" 另附js中String
Demo01 { public static void main(String[] args) { int[] a={25,64,19,48,91,23}; //遍历数组中的元素
arr = [1, 2, 3]; for(const key in arr) { console.log(arr[key]); } //1、2、3 //for…in语句以任意顺序遍历一个对象的除
( function(item){ console.log(item.id + '---' + item.name) }) 输出结果: 第三种: map()方法...,这个方法执行没有返回值,不影响原数组 2、map:支持return,相当与原数组克隆了一份,把克隆的每项改变了,也不影响原数组 第四种: for....in 方法 for....in 是es5标准..., 此方法遍历数组效率低,主要是用来循环遍历对象的属性 1)、 for......in 遍历数组 for(let item in arr){ console.log(arr[item...]) } 2)、for.....in 遍历对象 循环遍历对象的属性,js中动态获取key,得到某对象中相对应的value = obj[key] const obj = {...key in obj){ console.log(key + '---' + obj[key] ) } 输出结果: 第五种: for.......of 方法
不支持 break,用 try catch/every/some 代替 数组自带的遍历方法,虽然使用频率略高,但是性能仍然比普通循环略低 private forEach() { type...map() 方法按照原始数组元素顺序依次处理元素。 使用比较广泛,但其性能还不如 forEach 不会改变原始数组。...for in得到对对象的key或数组,字符串的下标 const arr = [ { cityId: 195, cityName: '深圳'}, { cityId...} for(const key in obj) { console.log(`对象key-${key}`) } 10. for 最简单的一种循环遍历方法...cityName: '上海'} ] for(let i = 0; i < arr.length; i++) { console.log(arr[i]) } 四种遍历方法对于
模板字符串可以嵌入变量, 模板字符串使用反引号 (` `) 来代替普通字符串中的用双引号和单引号。模板字符串可以包含特定语法({expression})的占位符。
01 - 查找字符串方法 以下前两个方法都接受第二个参数作为查找的开始位置。...index输出为-1 search(): 跟indexOf()返回的结果一样,但是它只有一个参数,优点在于可以设置更加“牛逼”的正则表达式,用来匹配你想要匹配的所有字符 02 - 裁剪字符串方法...以下三种方法只定义一个参数时,会将其看做开始位置,裁剪从该位置开始剩余的所有字符串。...03 - 替换(删除)字符串方法 replace(): 用指定字符串替换原字符串中的某个字符串,不改变原字符串,默认只替换首个,对大小写敏感,返回替换之后的新字符串。...04 - 分割字符串方法 split(): 用指定的字符分割字符串,返回一个字符串数组 当没有参数(分隔符)、参数不在原字符串中、参数为空格时,返回的都是原字符串。
JS中的字符串方法总结 charAt(i) 将字符串中下标为 i 的字符返回,下标从0开始。...(str1,str2) 用于连接多个字符串,不改变原字符串,返回连接后组成的新字符串 let str = “Hello” console.log(str.concat(" World")) // “...’ str.indexOf(start) 查询一个字符或一段字符串在总字符串中第一次出现的下标位置,如果没有找到则返回-1,start表示开始搜索的位置,默认为0 let str = ‘hello...(1,2)) //e split() 将字符串分割成字符串数组,可选填第二个参数表示分成的段数 let str = ‘hello world’ console.log(str.split(‘o’...str = ‘hello world’ console.log(str.endsWith(‘rld’)) // true repeat() 将该字符串重复连接成新的字符串并返回 let str
一、使用 slice() 截取 1,函数说明 slice() 方法可通过指定的开始和结束位置,提取字符串的某个部分,并以新的字符串返回被提取的部分。...返回值说明: 该方法返回一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop 减 start。...(2)注意事项: 如果 start 与 end 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。 如果 start 比 end 大,那么该方法在提取子串之前会先交换这两个参数。...:”, str.substr(3,5)); //34567 console.log(“从索引为3的字符起截取长度为20的字符串:”, str.substr(3,20)); //3456789 四、其他常用方法...字符串中第一个字符的下标是 0。如果参数 index 不在 0 与 string.length 之间,该方法将返回一个空字符串。
可枚举属性 对象属性可枚举,表示该属性的值不可修改,可认为该属性是常量。 如何定义不可枚举的属性? var obj = {name: 'jack', age:...
for-of遍历 entries() 返回一个遍历器对象,用来遍历[键名, 键值]组成的数组。对于数组,键名就是索引值;对于 Set,键名与键值相同。...Map 结构的 Iterator 接口,默认就是调用entries方法。 keys() 返回一个遍历器对象,用来遍历所有的键名。 values() 返回一个遍历器对象,用来遍历所有的键值。
什么是数组遍历? 取出数组的存储的元素叫做数组的遍历。 <!
,并返回位置(如果没找到,则返回-1),两者的区别在于,indexOf()方法从字符串开头开始查找子字符串,而 lastIndexOf()方法从字符串末尾开始查找子字符串: let str = "hello...如果传入第二个参数,则意味着这两个方法会从指定位置向着字符串末尾搜索,忽略该位置之前的所有字符; endsWith()方法接收可选的第二个参数,表示应该当作字符串末尾的位置。...ABCDE" str.toLowerCase(); // "abcde" 字符串匹配方法: match() 、search() match()方法接收一个参数,可以是一个正则表达式字符串,也可以是一个...search()方法唯一的参数与 match()方法一样:正则表达式字符串或 RegExp 对象。这个方法返回模式第一个匹配的位置索引,如果没找到则返回-1。...作为分隔符的参数可以是字符串,也可以是 RegExp 对象。(字符串分隔符不会被这个方法当成正则表达式。)
1.Reflect.ownKeys() 静态方法 Reflect.ownKeys()返回一个由目标对象自身的属性键组成的数组。...2.Object.entries(obj) Object.entries()方法返回一个给定对象自身可枚举属性的键值对数组,其排列与使用for...in循环遍历该对象时返回的顺序一致(区别在于 for-in...3.Object.fromEntries() Object.fromEntries() 方法把键值对列表转换为一个对象。...4.Object.is() Object.is()方法判断两个值是否是相同的值。...如果下列任何一项成立,则两个值相同: 两个值都是 undefined 两个值都是 null 两个值都是 true或者都是 false 两个值是由相同个数的字符按照相同的顺序组成的字符串 两个值指向同一个对象
领取专属 10元无门槛券
手把手带您无忧上云