题目1:对数组pop方法进行重构,要求实现和pop一样的功能,从返回值,修不修改原数组,参数触发题目2:给出一个字符串 输出字符串最长单词(和数组一样可以使用for循环遍历,也可以通过length属性

题目1:对数组pop方法进行重构,要求实现和pop一样的功能,从返回值,修不修改原数组,参数触发

Array.prototype.myPop = function pop(array){
    
    
  if (array.length === 0) {
    
    
    throw new Error('数组为空');
  }
  const result = array[array.length - 1];
  array.length--;
  return result;
}

该方法实现了与 pop 方法相同的功能:从数组的末尾删除最后一个元素,并返回被删除的元素。
该方法接受一个数组作为参数,并返回被删除的元素。如果数组为空,则抛出一个错误。
该方法不会修改原始数组,而是创建一个新的数组来存储被删除的元素,并返回该新数组。
需要注意的是,pop 方法是数组的一个内置方法,直接使用数组对象的 pop 方法可以更简洁地实现相同的功能,例如:array.pop()。但是,在某些情况下,例如需要自定义 pop 方法的行为或者在不支持 pop 方法的环境中使用时,可以使用上述的重构方法。

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

function findLongestWord(str) {
    
    
  // 用空格分隔字符串转换为数组
  const words = str.split(' ');
  let longestWord = '';
  
  // 遍历数组找出最长单词
  for(let i = 0; i < words.length; i++) {
    
    
    if(words[i].length > longestWord.length) {
    
    
      longestWord = words[i];
    }
  }
  
  return longestWord;
}

console.log(findLongestWord('Hello World')); // 输出: World
console.log(findLongestWord('JavaScript is fun')); // 输出: JavaScript

该方法首先使用split(’ ')方法将输入的字符串按照空格分隔成一个数组,然后遍历该数组。
在遍历过程中,使用length属性获取每个单词的长度,并与当前最长单词的长度进行比较。如果当前单词的长度大于最长单词的长度,则将最长单词更新为当前单词。
最后,方法返回最长单词。
需要注意的是,该方法假设输入的字符串中只包含空格作为单词分隔符,并且单词之间没有其他字符。如果输入的字符串中包含其他分隔符或者单词之间有其他字符,可以根据实际情况进行适当的修改。

猜你喜欢

转载自blog.csdn.net/qq_52342759/article/details/134163586