JavaScript遍历数组和对象常用方法总结

①数组的遍历:

	this.types = ['单选题', '多选题', '判断题']
	const len = this.types.length
	for (let i = 0; i < len; i++) {
	      console.log('index:', i, 'value:', this.types[i]) // i为number类型
	}
	// eslint-disable-next-line prefer-const
	for (let index in this.types) {
	      console.log('index:', index, 'value:', this.types[index]) // index为string类型
	}
	// eslint-disable-next-line prefer-const
	for (let item of this.types) { // ES6新增
	      console.log('item:', item)
	}
    // for...of 是 ES6 新引入的循环,用于替代 for..in 和 forEach() ,并且支持新的迭代协议。它可用于迭代常规的数据类型,如 Array 、 String 、 Map 和 Set 等等。

JavaScript遍历数组和对象常用方法总结_第1张图片

②对象的遍历:

	this.types = {
		'单选题':  '1',
		'多选题':  '2',
		'判断题':  '3'
	}
	for (const key in this.types) {
		console.log('key:', key, 'value:', this.types[key])
	}
	for (const key of Object.keys(this.types)) {
		console.log('key:', key, 'value:', this.types[key])
	}
	for (const value of Object.values(this.types)) {
		console.log('value:', value)
	}
	for (const [key, value] of Object.entries(this.types)) {
		console.log(key + ':' + value)
	}
	console.log('Object.keys:', Object.keys(this.types)) // 由对象中所有属性的key组成的数组
	console.log('Object.values:', Object.values(this.types)) // 由对象中所有属性的value组成的数组
	console.log('Object.entries:', Object.entries(this.types)) // 由对象中所有属性的key和value组成的数组

JavaScript遍历数组和对象常用方法总结_第2张图片

你可能感兴趣的:(js,javascript)