js小练习题目1:给定一个数组(如[2, 7, 11, 15]),求任意两个数组元素(不能是同一个数组元素)值的和为某一个指定值(如9)的数组下标。 例如 给定[2, 7, 11, 15], targ

题目1:给定一个数组(如[2, 7, 11, 15]),求任意两个数组元素(不能是同一个数组元素)值的和为某一个指定值(如9)的数组下标。
例如 给定[2, 7, 11, 15], target = 9,求符合条件数组元素下标return [0,1]

function findIndex(arr, target) {
    
    
    var result = [];
    for(var i = 0; i < arr.length; i++) {
    
    
      for(var j = i + 1; j < arr.length; j++) {
    
    
        if(arr[i] + arr[j] === target) {
    
    
          result.push([i, j]);
        }
      }
    }
    return result;
  }
  
  console.log(findIndex([2, 7, 11, 15], 9));  // [0, 1]

题目2:封装函数实现10得阶乘 最终输出10=1098765432*1=3628800

//1.第一种方法
function factorial(n) {
    
    
    var result = 1;
    for(var i = 2; i <= n; i++) {
    
    
      result *= i;
    }
    return result;
  }
  
  console.log("10 的阶乘为:" + factorial(10));
  console.log("10 的阶乘展开为:" + "10=" + factorial(10).toString().replace(/(\d)\*(\d)/g, "$1*$2"));
  //2.第二种方法
  function fc(){
    
    
  var str='10=',sum=1;
  for(var i=10;i>=1;i--){
    
    
    sum*=i;
    if(i==1){
    
    
      str+=i+'='
    }else{
    
    
      str+=i+'*'
    }
  }
  console.log(str+sum);
}

fc();


题目3:给出一个字符串 输出最长单词的长度(和数组一样可以使用for循环遍历,也可以通过length属性获取长度)

function longestWord(str) {
    
    
  var words = str.split(' ');
  var longest = 0;
  for(var i = 0; i < words.length; i++) {
    
    
    if(words[i].length > longest) {
    
    
      longest = words[i].length;
    }
  }
  return longest;
}

console.log(longestWord("i love World"));  // 5

题目4:100到1000以内的水仙花数 个位立方+十位立方+百位立方=水仙花数

function narcissisticNumbers(num) {
    
    
    var result = [];
    for(var i = 100; i <= num; i++) {
    
    
      var str = i.toString();
      var len = str.length;
      var sum = 0;
      for(var j = 0; j < len; j++) {
    
    
        sum += parseInt(str[j], 10) ** len;
      }
      if(i === sum) {
    
    
        result.push(i);
      }
    }
    return result;
  }
  
  console.log(narcissisticNumbers(1000));  // [153, 370, 371, 407]

猜你喜欢

转载自blog.csdn.net/qq_52342759/article/details/134163351
今日推荐