js ——演算法

zhengyeye發表於2016-06-24

1.使用js 陣列去重複:

方法①:

var arr=[1,2,1,5,2,3,5,1,6,9];
function deRepeat(){
  var newArray=[];
  var obj={};
  var index=0;
  var len=arr.length;
for(var i=0;i<len;i++){
    if(obj[arr[i]]==undefined){//不存在
       obj[arr[i]]=1;
       newArray[index++]=arr[i];
    }else if(obj[arr[i]]==1)
      continue;
    }
     return newArray;
  }

alert(deRepeat(arr));

執行結果:

方法②:

var arr=[1,2,1,5,2,3,5,1,6,9];
     for(var i=0,obj={},newArray=[],len=arr.length;i<len;i++){
          if(!obj[arr[i]]){
                  obj[arr[i]]=1;
                   newArray.push(arr[i])
             }
        }
        alert(newArray)
 

執行結果:

2.js的繼承及原型屬性,擴充套件內建資料型別的方法。(比如:給String物件定義一個repeatify方法:該方法接收一個整數引數,作為字串重複的次數,最後返回重複指定次數的字串。)

String.prototype.repeatify = String.prototype.repeatify || function(times) {
 
var str = '';
 
for (var i = 0; i < times; i++) {
 
str += this;
 
}
 
return str;
 
};
console.log('hello'.repeatify(3));

執行結果:

//hellohellohello

 3.題目:a與b比較大小,若a大於b,返回true

function compareSequence(a, b){
      //如果是字串的數字( "555" < "223" )的處理
   var num1 = parseInt(a),
       num2 = parseInt(b);
   if (typeof(num1) === "number" && typeof(num2) === "number") {
       if (num1 > num2) {
           return true;
        } else {
            return false;
       }
   }
}
console.log(compareSequence(555,223));

執行結果:

true

4.題目:將一組單詞儲存在一個陣列中,並按正序和倒序分別顯示這些單詞

var arr=["This","is","a","pen"],
 len=arr.length,
i=0,
 j=len-1;
for(;i<len;i++){//正序
  console.log(arr[i]);
}
for(;j>=0;j--){//倒序
  console.log(arr[j]);
}

執行結果:

This
is
a pen pen a is This

 

相關文章