JS基础算法03--俩数之和

最简单 , 最基础的。
如果不会 , 请写会 ,请掌握,请让心安定

给定一个数组 nums 和一个目标值 target,在该数组中找出和为目标值的两个数


   const nums = [1, 2, 3, 4, 5, 6, 7, 8]
        const target = 5

        function find(nums, target) {
            let map = {}
            for (let i of nums) {
                if (map[target - i] !== undefined) {
                    debugger
                    return [target - i, i]
                }
                map[i] = i
            }

        }

        console.log(find(nums, target)) // [2, 3]

小回顾 for in 和for of
  1. for in 是很早之前就有的,es6之前,可以用来遍历对象的key , 通过key ,以及item[key]拿到对象的键值。
  2. 当然再回顾下,遍历对象还可以用Object.keys() , Object.value(), Object.entries()
  3. 当遍历数组时,当前项item就是数组的下标索引
  4. 遍历字符串时,是字符串的下标index

缺点是会遍历数来原型方法上的属性方法,需要配合hasOwnProperty()方法一起使用,一般不建议使用

  1. 然后es6之后有了for of 可以用来遍历数组,其中for of遍历数组,item就是数组本身的当前项,遍历字符串一样。
  2. 遍历字符串item就是字符串的当前项目
  3. 可以遍历伪数组,就是带Iterator的
回顾对象遍历的其他方式

	let result = Object.entries(obj)
	let result2 = Object.keys(obj)
	let result3 = Object.values(obj)
	for (let a of result){
	   console.log(a[0])
	}

请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值