jsキーワードの変色、配列の乱れ、配列の除去とパッケージ化
3626 ワード
1.はじめに
今日、自分の前にカプセル化した機能の一部を共有して現れました.全部いくつかのものがよく使われています.実現するのは簡単です.コードも少ない機能や操作です.キーワードの色や配列の乱れ、配列の重さなどです.
2.キーワードの変色
この機能はよく見られます.特に検索エンジンが検索を実行する時に.その他は多く言わないで、直接コードをつけます.
この効果が必要です.原理とプロセスを実現する:まず、ボタンをクリックしたときにテキストボックスのvalueを取得し、スペースで分割することによって配列(
みんな見ましたよね.私は「来てください」だけを入力して、結果として「先端」も変色しました.これは私が「来てください」を入力した時、前に「先端」を入力して運転しました.次はクリアしないとこのバグがあります.クリアすれば大丈夫です.
2.シャッフル配列
配列を乱すのも、比較的によく使われていますよね.コードを入れます.
原理とプロセスを実現する:コアコードは
3.配列の消去
配列は重くて、みんなが出会うのが多くなることを信じて、面接試験問題それともプロジェクトが必要なのに関わらず、多少いずれも出会ったことがあります.重い方法が多いです.主に二つの方法を話します.
第一種類
この実現原理とプロセスは何も言いませんでした.元の配列
第二種
第一の方法は,表面的には層循環であるが,実際には二層であり,少なくとも運転速度では二層サイクルの速度である.
効果はどうですか
原理と過程を実現します.元の配列を遍歴します.元の配列から元素を取り出して、対象の中にこの属性を訪問します.もし値にアクセスできるなら、重複して説明します.アクセスできないなら、arrはまだこの要素がないということです.これを追加して、jsonの属性として、1を割り当てます.この方法は、個人的には第一の方法より効率がいいと思います.
後続
jsについては実用的か常用の小機能操作ですが、今日はここに来て、後で他のものを書きます.
今日、自分の前にカプセル化した機能の一部を共有して現れました.全部いくつかのものがよく使われています.実現するのは簡単です.コードも少ない機能や操作です.キーワードの色や配列の乱れ、配列の重さなどです.
2.キーワードの変色
この機能はよく見られます.特に検索エンジンが検索を実行する時に.その他は多く言わないで、直接コードをつけます.
//
function createExp(strArr)
{
var str="";
for(var i=0;i<strArr.length;i++)
{
if(i!=strArr.length-1)
{
str=str+strArr[i]+"|";
}
else
{
str=str+strArr[i];
}
}
return "("+str+")";
}
// ,
function findKey(key,id)
{
var arr=null;
var regStr=null;
var content=null;
var Reg=null;
var theObj=document.getElementById(id);
arr=key.split(/\s+/);
regStr=createExp(arr);
//alert(regStr); // :( | )
content=theObj.innerHTML;
// html
content=content.replace(/<\/?[^>]*>/g,'');
Reg=new RegExp(regStr,"g");
//alert(Reg);// / :( | )/g
theObj.innerHTML=content.replace(Reg,"<span>$1</span>");
}
window.onload=function()
{
var btn=document.getElementById("btn");
btn.onclick=function(){
var key=document.getElementById("text").value;
findKey(key,"thediv");
}
}
, , ( ), , , , , 。 。
運転してくださいこの効果が必要です.原理とプロセスを実現する:まず、ボタンをクリックしたときにテキストボックスのvalueを取得し、スペースで分割することによって配列(
arr=key.split(/\s+/);
)になり、次に配列をcreateExp()
に伝え、正規の文字を作成します.最後に、[' ',' ']
のコンテンツを正規化し、例えば、すべての「フロントエンド」をフロントエンドに置き換える.ここで注意すべき点は、正則マッチングを行う前に、必ず内容をフィルタリングします.次の運行に影響を与えないようにします.フィルタしないと、このバグです.みんな見ましたよね.私は「来てください」だけを入力して、結果として「先端」も変色しました.これは私が「来てください」を入力した時、前に「先端」を入力して運転しました.次はクリアしないとこのバグがあります.クリアすれば大丈夫です.
2.シャッフル配列
配列を乱すのも、比較的によく使われていますよね.コードを入れます.
function upsetOrder(arrOld,num){
var result=[],_length=num||arrOld.length,arr;
arr=Object.assign([],arrOld)
for(var i=0,len=arr.length;i
運転してください原理とプロセスを実現する:コアコードは
createExp()
であり、この原理は毎回( | )
の中に( | )/g
の要素があり、この要素は#thediv
の中から自由に取得される.ここで注目すべき点は、result.push(arr.splice(Math.floor(Math.random()*arr.length),1)[0]);
行のコードは、乱れの結果が元の配列に影響しないためである.例えば、伝来時の[1,2,3]は、元の配列を実行しましたか?それとも[1,2,3]ですか?新しいシャッフルの配列が生まれただけです.3.配列の消去
配列は重くて、みんなが出会うのが多くなることを信じて、面接試験問題それともプロジェクトが必要なのに関わらず、多少いずれも出会ったことがあります.重い方法が多いです.主に二つの方法を話します.
第一種類
function removeReapt(arrOld){
var arr=[];
for(var i=0,len=arrOld.length;i
運転してくださいこの実現原理とプロセスは何も言いませんでした.元の配列
result
を遍歴して、arrが現在遍歴している配列要素があるかどうかを判断して、追加されていません.第二種
第一の方法は,表面的には層循環であるが,実際には二層であり,少なくとも運転速度では二層サイクルの速度である.
push
この方法も一つずつ比較しているからです.だからもう二番目の方法を話します.function removeReapt(arrOld){
var arr= [];
var json = {};
for(var i = 0,len = arrOld.length; i < len; i++){
if(!json[arrOld[i]]){
arr.push(arrOld[i]);
json[arrOld[i]] = 1;
}
}
return arr;
}
運転してください効果はどうですか
原理と過程を実現します.元の配列を遍歴します.元の配列から元素を取り出して、対象の中にこの属性を訪問します.もし値にアクセスできるなら、重複して説明します.アクセスできないなら、arrはまだこの要素がないということです.これを追加して、jsonの属性として、1を割り当てます.この方法は、個人的には第一の方法より効率がいいと思います.
後続
jsについては実用的か常用の小機能操作ですが、今日はここに来て、後で他のものを書きます.