• 写一个函数求数组的最大值和最小值
    1. highAndLow("1 2 3 4 5"); // return "5 1"
    2. highAndLow("1 2 -3 4 5"); // return "5 -3"
    3. highAndLow("1 9 3 4 -5"); // return "9 -5"
    • 几种解法分析:
    1. function highAndLow(str) {
    2. let sor = str.split(' ').sort((a, b) => a-b) //sort((a,b)=>a-b)将数组升序排列
    3. return sor.pop() + " " + sor.shift() // pop() 方法用于删除数组的最后一个元素并返回删除的元素
    4. } // shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值
    let highAndLow = (str)=> {
      let Num = str.split(' ')
      let max = Math.max(...Num);    // ...扩展运算符此处用于函数的调用
      let min = Math.min(...Num);
      return `${max} ${min}`
    }    // 模板字符串(template string)是增强版的字符串,用反引号(`)标识。
        //它可以当作普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量
    
    function highAndLow(arr){
       return '('+Math.max(...arr)+','+Math.min(...arr)+')'
    }
    
    function highAndLow(str){
        let arr = str.split(' ').sort();
        return arr.pop() + ' ' + arr.shift();
    }
    
    function highAndLow(str){
        let arr = str.split(' ');
        return Math.max(...arr) + ' ' + Math.min(...arr);
    }
    
    const highAndLow = str => {
        const arr = str.split(' ');
        return `${Math.max(...arr)} ${Math.min(...arr)}`;
    };    // 模板字符串中加杂数学运算
    
    function highAndLow(str) {
        const arr = str.split(' ');
        return `${Math.max(...arr)} ${Math.min(...arr)}`
    };
    
    const highAndLow = str => {
      const arr = str.split(' ').sort()
      return arr[arr.length - 1] + ' ' + arr[0]
    }
    
    const highAndLow = str => {
      const arr = str.split(' ')
      return Math.max(...arr) + ' ' + Math.min(...arr)
    }
    
    function highAndLow(str) {
      const ary = str.split(' ');
      return [Math.max(...ary), Math.min(...ary)];
    }
    
    const highAndLow = (str) => {
        const strArr = str.split(' ');
        return `${Math.max.apply(null, strArr)} ${Math.min.apply(null, strArr)}`
    }
    
    *
     * @desc 求数组的最大值和最小值
     * @param str
     * @return {string} "max min"
     * @example highAndLow("1 2 -3 4 5") => "5 -3"
     * * */
    export const highAndLow = (str = '') => {
        return `${Math.max(...str.split(' '))} ${Math.min(...str.split(' '))}`
    }
    
    function highAndLow(str){
        let ary=str.split(' ');
        return Math.max(...ary)+' '+Math.min(...ary)
    }
    
    function highAndLow1(str){
        return str.split(' ').map(x=>Number(x)).sort((x,y)=>{return y-x}).filter((x,i,arr)=>{
            return i==0||i==arr.length-1?true:false;
        }).join(' ');
    
    }
    function highAndLow2(str){
      return str.split(' ').filter((x,i,ary)=>{
          return ary.filter(z=>x>z).length==0||ary.filter(z=>x<z).length==0?true:false;
       }).join(' ');
    
    }
    function highAndLow3(str){
        let ary=str.split(' ').map(x=>Number(x));
        return ary.reduce((x,y)=>x>y? x:y)+' '+ ary.reduce((x,y)=>x<y? x:y)
    }