ホームページ > ウェブフロントエンド > jsチュートリアル > 収集する価値のある 21 の Javascript ヒント_JavaScript ヒント

収集する価値のある 21 の Javascript ヒント_JavaScript ヒント

WBOY
リリース: 2016-05-16 17:01:28
オリジナル
953 人が閲覧しました

1 Javascript 配列を CSV 形式に変換します

まず、次のアプリケーション シナリオを考えてみましょう。JavaScript 文字 (または数値) 配列があり、これをカンマ区切りの CSV 形式ファイルに変換する必要があります。次に、次のヒントを使用できます。コードは次のとおりです:

コードをコピー コードは次のとおりです:

var Fruits = ['apple', '桃'、'オレンジ'、'マンゴー'];
var str =fruits.valueOf();

出力: リンゴ、桃、オレンジ、マンゴー

このうち、valueOf()メソッドはJavaScriptの配列をカンマ区切りの文字列に変換します。 | で区切るなど、カンマを使用したくない場合は、次のように join メソッドを使用してください。

コードをコピー コードは次のとおりです:
var Fruits = ['apple', '桃'、'オレンジ'、'マンゴー'];
var str = Fruits.join("|");

出力: リンゴ|桃|オレンジ|マンゴー

2 CSV 形式を Javascript 配列に変換して戻します

では、CSV 形式の文字列を Javascript 配列に変換するにはどうすればよいでしょうか?指定した文字を使用して分割するには、split() メソッドを使用できます。コードは次のとおりです。

コードをコピーします コードは次のとおりです:
var str = "リンゴ、桃、オレンジ、マンゴー" ;
var FruitsArray = str.split(",");


出力 FruitArray[0]: apple

3 インデックス

に基づいて配列から要素を削除します Javascript 配列から要素を削除する必要がある場合は、splice メソッドを使用できます。このメソッドは、渡されたパラメーター n (JavaScript 配列の 0 番目の位置から計算) に基づいて配列から n 番目の要素を削除します。

コードをコピーします コードは次のとおりです。
function RemoveByIndex(arr, Index) {
arr .splice(index, 1);
}
test = new Array();
test[0] = 'Apple';
test[1] = 'Ball';
test [2] = 'Cat';
test[3] = 'Dog';
alert("要素を削除する前の配列: " test);
removeByIndex(test, 2);
alert( "要素を削除した後の配列: " test);


最終出力は Apple,Ball,Dog です

4 要素

の値に従って配列要素の値を削除します。 次のテクニックは、指定された値に基づいて配列内の要素を削除するものです。

コードをコピーします コードは次のとおりです。
function RemoveByValue(arr, val) {
for (var i=0; i if(arr[i] == val) {
arr.splice(i, 1);
Break;
}
}
}
var somearray = ["mon", "tue", "wed", "thur"]
removeByValue(somearray, "tue");
/ /somearray will 含まれる要素は "mon"、"wed"、"thur" です


もちろん、次のコードに示すように、プロトタイプ メソッドを使用してそれを実現する方が良い方法です。

コードをコピーします コードは次のとおりです。
Array.prototype.removeByValue = function(val ) {
for(var i=0; i if(this[i] == val) {
this.splice(i, 1);
Break;
}
}
}
//..
var somearray = ["mon", "tue", "wed", "thur"]
somearray.removeByValue ("火");


5 文字列を指定してメソッドを動的に呼び出す

場合によっては、実行時に既存のメソッドを動的に呼び出してパラメータを渡すことが必要になります。これを達成するにはどうすればよいでしょうか?次のコードが実行されます:

コードをコピー コードは次のとおりです:

var strFun = "someFunction"; //someFunction は定義されたメソッド名です
var strParam = "これはパラメータです" //メソッドに渡されるパラメータです
var fn = window [strFun];

//メソッドを呼び出してパラメータを渡します
fn(strParam);

6 1 から N までの乱数を生成します

コードをコピー コードは次のとおりです。

var random = Math.floor(Math. random() * N 1);
//1 から 10 までの乱数を生成します
var random = Math.floor(Math.random() * 10 1);
//乱数を生成します1 から 100 までの乱数
varrandom = Math.floor(Math.random() * 100 1);

7 ブラウザ終了イベントをキャプチャします

ユーザーがブラウザを閉じるときに、未保存のものを保存するように求めることがよくあります。コードは次のとおりです。

コードをコピー コードは次のとおりです:


< body onbeforeunload= "fnUnloadHandler()">
…………

onbeforeunload() イベントのコードを記述するだけです

8 戻るボタンが押されたか確認します

同様に、ユーザーが戻るキーを押したかどうかを確認できます。コードは次のとおりです。

コードをコピー コードは次のとおりです。

window.onbeforeunload = function() {
return "あなたの仕事は失われます。";
};

9 フォームデータが変更されていないか確認します

場合によっては、ユーザーがフォームのコンテンツを変更したかどうかを確認する必要があります。フォームのコンテンツが変更されている場合は true を返します。変更されていない場合は false を返します。コードは次のとおりです:

コードをコピーします コードは次のとおりです。

function formIsDirty(form) {
for (var i = 0; i var element = form.elements[i];
var type = element.type;
if (type == "チェックボックス" || type == "ラジオ") {
if (element.checked != element.defaultChecked) {
== "パスワード" ||
タイプ == "テキスト" || type == "textarea") {
if (element.value != element.defaultValue) {
return true ;
}
}
else if (type == " select-one" || type == "select-multiple") {
for (var j = 0; j < element.options.length; j ) 🎜> }
}
return false;
}

window.onbeforeunload = function(e) {
e = e ||
if (formIsDirty (document.forms["someForm"] )) {
// IE および Firefox
if (e) {
e.returnValue = "未保存の変更があります。";
}
// Safari ブラウザ
return "未保存の変更があります。";
}
};




10 バック キーの使用を完全に無効にします


次のヒントをページに配置すると、ユーザーが「戻る」ボタンをクリックするのを防ぐことができます。これは場合によっては必要になります。コードは次のとおりです:



コードをコピー

コードは次のとおりです:



onpageshow="if (event.persisted) noBack();" onunload="">

11 ユーザーの複数選択ボックスで選択した項目を削除します

以下に提供するテクニックは、ユーザーがドロップダウン ボックスで複数の項目を選択して [削除] をクリックすると、それらを一度に削除できるというものです。コードは次のとおりです。

コードをコピーします コードは次のとおりです。
function selectBoxRemove(sourceID) {
//リストボックス ID を取得します
var src = document.getElementById(sourceID);

//リストボックス
をループします for(var count= src.options.length-1; count >= 0; count- -) {

//削除するオプションが見つかったら、
を削除 if(src.options[count].selected == true) {

try {
src .remove(count, null);

} catch(error) {

src.remove(count);
}
}
}
}

12 リストボックス内のすべての選択と非選択

指定されたリストボックスに対して、次のメソッドはユーザーのニーズに応じて true または false を渡すことができます。これは、それぞれリストボックス内のすべての項目を選択するか、すべての項目を選択しないかを意味します。コードは次のとおりです。

function listboxSelectDeselect(listID, isSelect) {
var listbox = document.getElementById(listID);
for(var count=0; count < listbox.options.length; count ) {
listbox.options[count].selected = isSelect;
}
}


13 リストボックス内の項目を上下に移動する

次のコードは、リストボックス内の項目を上下に移動する方法を示しています

function listbox_move(listID, direct) {

var listbox = document.getElementById(listID);
var selIndex = listbox.selectedIndex;

if(-1 == selIndex) {
alter("オプションを選択してください");
return;
}

var increment = -1;
if(direction == 'up')
increment = -1;
else
インクリメント = 1;

if((selIndex インクリメント) < 0 ||
(selIndex インクリメント) > (listbox.options.length-1)) {
return;
}

var selValue = listbox.options[selIndex].value;
var selText = listbox.options[selIndex].text;
listbox.options[selIndex].value = listbox .options[selIndex増加].value
listbox.options[selIndex].text = listbox.options[selIndex増加].text

listbox.options[selIndex増加].value = selValue;
listbox.options [selIndex増加].text = selText;

listbox.selectedIndex = selIndex増加;
}
//..
//..

listbox_move ('countryList ', 'up'); //選択したオプションを上に移動します
listbox_move('countryList', 'down') //選択したオプションを下に移動します

14 2 つの異なるリストボックス内の項目を移動

2 つの異なるリストボックスにある場合、多くの場合、項目を左側のリストボックスからもう一方のリストボックスに移動する必要があります。関連するコードは次のとおりです。

コードをコピー コードは次のとおりです。

function listbox_moveacross(sourceID, destID) {
var src = document.getElementById(sourceID);
var dest = document.getElementById(destID);

for(var count=0; count < src.options.length; count ) {

if(src.options[count].selected == true) {
var option = src.options[count];

var newOption = document.createElement("option" );
newOption.value = option.value;
newOption.text = option.text;
newOption.selected = true;
try {
dest.add(newOption, null); //標準
src.remove(count, null);
}catch(error) {
dest.add(newOption) // IE のみ
src.remove(count); 🎜> 🎜>


15 Javascript 配列を迅速に初期化します


次のメソッドは、JavaScript 配列を迅速に初期化する方法を提供します。コードは次のとおりです。


コードをコピー

コードは次のとおりです:

varnumbers = [];

for(var i=1;numbers.push(i )//numbers = [0,1,2,3 ... 100] 配列のプッシュメソッドを使用します

16 指定された桁の 10 進数を切り取る


小数点以下の指定された桁数をインターセプトする場合は、次のような toFixed メソッドを使用できます。

コードをコピーします

コードは次のとおりです。

var num = 2.443242342; (num.toFixed(2));

コードをコピーします


コードは次のとおりです。

num = 500.2349;

result = num.toPrecision (4) //出力 500.2

17 文字列に他の文字列が含まれていないか確認します 次のコードでは、文字列に他の文字列が含まれているかどうかを確認できます。コードは次のとおりです:



コードをコピー

コードは次のとおりです:


if (!Array.prototype.indexOf) {
Array.prototype.indexOf = function(obj, start) {
for (var i = (start || 0), j = this i 🎜>
if (!String.prototype.contains) {
String.prototype.contains = function (arg) {
return !!~this.indexOf(arg);
};
}



上記のコードでは、indexOf メソッドが書き換えられ、contains メソッドが定義されています。使用されるメソッドは次のとおりです。


コードをコピー

コードは次のとおりです:


18 Javascript 配列内の重複要素を削除


次のコードは、次のように Javascript 配列内の重複要素を削除できます。

コードをコピー

コードは次のとおりです。

function RemoveDuplicates(arr) { var temp = {}; for (var i = 0; i temp[arr[i]] = true; var r = [];
for (var k in temp)
r.push(k);
return r;
}

//使用法
var Fruits = ['apple', 'orange' , 'peach', 'apple', 'strawberry', 'orange'];
var uniquefruits = RemoveDuplicates(fruits);
//出力 uniquefruits ['apple', 'orange', 'peach '、' イチゴ'];




19 文字列内の余分なスペースを削除します


次のコードは、Trim() メソッドを String に追加します。コードは次のとおりです。

コードをコピーします

コードは次のとおりです:

if (!String.prototype.trim) { String.prototype.trim=function() { return this.replace(/^s |s $/g, ''); };} //使用法
var str = " 何らかの文字列 ";
str.trim();
//出力 str = "何らかの文字列"




20 Javascript でのリダイレクト


Javascript では、リダイレクトは次のように実装できます:

コードをコピー

コードは次のとおりです:

window.location.href = "http: //www .jb51.net"; 21 URL エンコード
URL で渡されるデータをエンコードする必要がある場合があります。その方法は次のとおりです。



コードをコピー

コードは次のとおりです。

var myOtherUrl = "http://example .com/index.html?url=" encodeURIComponent(myUrl); 原文: http://viralpatel.net/blogs/javascript-tips-tricks/
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート