码迷,mamicode.com
首页 > 编程语言 > 详细

js 数组中寻找两个值相加等于目标值, 三个值相加等于目标值

时间:2020-04-01 15:02:36      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:har   let   other   数组   val   filter   head   rip   return   

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
<script type="text/javascript">
    let nums = [1, 5, 2, 4, 6, 8];
    let target = 12;

    function twoNum (nums, target){
        let arr = [];
        for(let i = 0;i < nums.length;i++){
            let otherNum = target - nums[i];
            let secondNum = nums.slice(i+1).filter(val => val == otherNum);
            if(secondNum.length > 0){
                arr.push(i, nums.indexOf(secondNum[0]));
            }
        }
        return arr;
    }
    
    function three(nums, target){
        let resultArr = [];
        for(let i = 0;i < nums.length;i++){
            let otherNum = target - nums[i];
            let arr = twoNum(nums.slice(i+1), otherNum);
            if(arr.length > 0){
                resultArr.push(i, nums.indexOf(nums.slice(i+1)[arr[0]]), nums.indexOf(nums.slice(i+1)[arr[1]]));
                break;
            }
        }
        return resultArr
    }

    three([1, 4, 8, 12, 19, 16, 26], 24);
</script>
</html>

 

js 数组中寻找两个值相加等于目标值, 三个值相加等于目标值

标签:har   let   other   数组   val   filter   head   rip   return   

原文地址:https://www.cnblogs.com/Mr-Rshare/p/12612193.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!