検索

今回は、JavaScriptの配列-文字列-数学関数、JavaScript配列-文字列-数学関数を使用する際の注意事項について、実際の事例を紹介します。

配列メソッドのプッシュ、ポップ、シフト、シフト解除、結合、分割の機能は何ですか?
push() メソッドは、1 つ以上の要素を配列の末尾に追加し、配列の新しい長さ (length 属性値) を返します。
pop() メソッドは、配列内の最後の要素を削除し、この要素を返します。
shift() メソッドは、配列の最初の要素を削除し、この要素を返します。このメソッドは配列の長さを変更します。
unshift() メソッドは、1 つ以上の要素を配列の先頭に追加し、配列の新しい長さの値を返します。
join() メソッドは、配列内のすべての要素を文字列に結合します。
**split() ** メソッドは、文字列を部分文字列に分割することによって、String オブジェクトを文字列配列に分割します。

コードの質問

配列

splice を使用してプッシュ、ポップ、シフト、およびシフト解除メソッドを実装する
定義と使用法
splice() メソッドは、配列の要素を挿入、削除、または置換するために使用されます。
構文

arrayObject.splice(index,howmany,element1,.....,elementX)

パラメータの説明
index 必須。要素を追加/削除する場所を指定します。このパラメータは、挿入および/または削除を開始する配列要素のインデックスであり、数値である必要があります。
必要な数。削除する要素の数を指定します。数値である必要がありますが、「0」でも構いません。このパラメータが指定されていない場合、元の配列のインデックスから末尾までのすべての要素が削除されます。 element1 はオプションです。配列に追加する新しい要素を指定します。 Index が指すインデックスから挿入を開始します。
要素X オプション。複数の要素を配列に追加できます。
戻り値
arrayObjectから要素が削除された場合、削除された要素を含む配列が返されます。

splice->push
var a = [1,2,3,4,5]
var b = [1,2,3,4,5]
console.log(a);
console.log(b);
a.push(6);
b.splice(5,1,6);
console.log(a);
console.log(b);
splice->pop
var a = [1,2,3,4,5]
var b = [1,2,3,4,5]
console.log(a);
console.log(b);
a.pop();
b.splice(4,1);
console.log(a);
console.log(b);
splice->shift
var a = [1,2,3,4,5]
var b = [1,2,3,4,5]
console.log(a);
console.log(b);
a.shift();
b.splice(0,1);
console.log(a);
console.log(b);
splice->unshift
var a = [1,2,3,4,5]
var b = [1,2,3,4,5]
console.log(a);
console.log(b);
a.unshift(-1);
b.splice(0,0,-1);
console.log(a);
console.log(b);

配列を使用して次の文字列を結合します

var prod = {    name: '女装',    styles: ['短款', '冬季', '春装']
};function getTpl(data){//todo...};var result = getTplStr(prod);  //result为下面的字符串
    <dl class="product">
        <dt>女装</dt>
        <dd>短款</dd>
        <dd>冬季</dd>
        <dd>春装</dd>
    </dl>

コード:

var prod = {
name: &#39;女装&#39;,
styles: [&#39;短款&#39;, &#39;冬季&#39;, &#39;春装&#39;]
};
function getTplStr(data){
var htmls = [];
htmls.push(&#39;<dl class="product">&#39;,&#39;<dt>&#39;+data,name+&#39;<dt>&#39;);
for(i=0;i<data.styles.length;i++){
htmls.push(&#39;<dd>&#39;+data.styles[i]+&#39;<dd>&#39;)
}
htmls.push(&#39;<dl>&#39;);
var htmls = htmls.join(&#39;&#39;)
return htmls
};
var result = getTplStr(prod);  //result为下面的字符串
console.log(result)

次の関数を実装する検索関数を作成します

var arr = [ "test", 2, 1.5, false ]
find(arr, "test") // 0
find(arr, 2) // 1
find(arr, 0) // -1

コード:

var arr = [ "test", 2, 1.5, false ]
var find = function(a,b){
console.log(a.indexOf(b))
}
find(arr, "test") // 0
find(arr, 2) // 1
find(arr, 0) // -1

次の関数を実装する関数filterNumericを作成します

arr = ["a", 1,3,5, "b", 2];
newarr = filterNumeric(arr);  //   [1,3,5,2]

コード:
メソッド 1:

arr = ["a", 1,3,5, "b", 2];
var filterNumberic = function(data){
var a = [];
for(i=0;i<data.length;i++){
if(typeof data[i] === &#39;number&#39;){
a.push(data[i]);
}
}
return a
}

newarr = filterNumberic(arr); // [1,3,5,2]
console.log(newarr)
メソッド 2:

arr = ["a", 1,3,5, "b", 2];
function isNumber(element) {
return typeof element === &#39;number&#39;;
}
var newarr = arr.filter(isNumber)
console.log(newarr)

オブジェクト obj はclassName 属性。内部の値はスペース区切りの文字列です (HTML 要素の class 属性と同様)。次の関数を持つ addClass 関数とremoveClass 関数を記述します。 Camelize 関数を使用して、my- を配置します。 short-string 形式の文字列は、次のような myShortString 形式の文字列に変換されます。

var obj = {className: &#39;open menu&#39;}addClass(obj, &#39;new&#39;) // obj.className=&#39;open menu new&#39;addClass(obj, &#39;open&#39;)  // 因为open已经存在,此操作无任何办法addClass(obj, &#39;me&#39;) // obj.className=&#39;open menu new me&#39;console.log(obj.className)  // "open menu new me"
 removeClass(obj, &#39;open&#39;) // obj.className=&#39;menu new me&#39;  removeClass(obj, &#39;blabla&#39;)  // 不变

コード:

var obj = {className: &#39;open menu&#39;}var addClass = function(a,b){var name = a.className.split(" ");if(name.indexOf(b) === -1) {name.push(b);}else{console.log("因为"+b+"已经存在,此操作无任何办法");}a.className = name.join(" ");console.log(&#39;obj.className=&#39;+a.className);}var removeClass = function(a,b){var name = a.className.split(" ");if(name.indexOf(b) !== -1){name.splice(name.indexOf(b),1)a.className = name.join(" ");console.log(&#39;obj.className=&#39;+a.className)}else{console.log(&#39;不变&#39;)}}
   addClass(obj, &#39;new&#39;) // obj.className=&#39;open menu new&#39;    addClass(obj, &#39;open&#39;)  // 因为open已经存在,此操作无任何办法    addClass(obj, &#39;me&#39;) // obj.className=&#39;open menu new me&#39;    console.log(obj.className)  // "open menu new me"    removeClass(obj, &#39;open&#39;) // obj.className=&#39;menu new me&#39;    removeClass(obj, &#39;blabla&#39;)  // 不变

次のコードは何を出力しますか?なぜですか?

camelize("background-color") == &#39;backgroundColor&#39;
camelize("list-style-image") == &#39;listStyleImage&#39;

なぜなら、 arr.push( function() {alert(console.log('hello Hanger Valley')) } ); をプッシュするからです。 arr[] の最後の桁、arr[arr.length-1]() は配列の最後の桁を取得し、関数をすぐに実行します。 valley')) ログはコンソールでのみ開くことが許可されているため、結果は未定義です

配列内の数値をフィルタリングし、数値以外を削除する関数 filterNumericInPlace を作成します

function camelize(string){
return string.replace(/-/g,'')
}
console.log(camelize("background-color"))
camelize("background-color") == &#39;backgroundColor&#39;
camelize("list-style-image") == &#39;listStyleImage&#39;

コード:

arr = ["a", "b"];
arr.push( function() { alert(console.log(&#39;hello hunger valley&#39;)) } );
arrarr.length-1  // ?

次の関数を実装する ageSort 関数を作成します:

arr = ["a", 1,3,4,5, "b", 2];
//对原数组进行操作,不需要返回值
filterNumericInPlace(arr);
console.log(arr)  // [1,3,4,5,2]

コード:
方法 1:

arr = ["a","d", 1,3,4,5, "b", 2];
//对原数组进行操作,不需要返回值
function filterNumericInPlace(data){
for(i=0;i<data.length;i++){
if(typeof data[i] === &#39;string&#39;){
data.splice(i,1);
i--;//splice指针减少1,否则获取不了数组中全部元素。
}
}
}
filterNumericInPlace(arr);
console.log(arr)  // [1,3,4,5,2]

方法 2:

var john = { name: "John Smith", age: 23 }
var mary = { name: "Mary Key", age: 18 }
var bob = { name: "Bob-small", age: 6 }
var people = [ john, mary, bob ]
ageSort(people) // [ bob, mary, john ]

2 つのパラメーターを受け入れて配列をフィルターする filter(arr, func) 関数を作成します。 1 つ目は処理される配列で、2 つ目のパラメータは
コールバック関数

(コールバック関数は各配列要素を走査して受け入れ、関数が true を返した場合は要素を保持し、それ以外の場合は要素を削除します) で、次の関数を実装します。


function ageSort(arr){
arr.sort(function(a,b){return a.age-b.age})
return arr
}
var john = { name: "John Smith", age: 23 }
var mary = { name: "Mary Key", age: 18 }
var bob = { name: "Bob-small", age: 6 }
var people = [ john, mary, bob ]
ageSort(people) // [ bob, mary, john ]
console.log(ageSort(people))

コード:

function ageSort(a){
for(i=0;i0){
var b = a[i];
a[i] = a[j];
a[j] = b;
}
}
}
return a
}
var john = { name: "John Smith", age: 23 }
var mary = { name: "Mary Key", age: 18 }
var bob = { name: "Bob-small", age: 6 }
var people = [ john, mary, bob ]
ageSort(people) // [ bob, mary, john ]
console.log(ageSort(people))
String

Write。最初の文字が大文字である文字を返すucFirst関数。


function isNumeric (el){return typeof el === &#39;number&#39;;}arr = ["a",3,4,true, -1, 2, "b"]
 arr = filter(arr, isNumeric) ; // arr = [3,4,-1, 2],  过滤出数字  arr = filter(arr, function(val) { return val > 0 });  // arr = [2] 过滤出大于0的整数

の場合、関数を書き込みます。 str の長さが maxlength より大きい場合、str は maxlength に切り捨てられ、Add... のようになります:

function filter(data,callback){return data.filter(callback)}
   function isNumeric (el){        return typeof el === &#39;number&#39;;     }    arr = ["a",3,4,true, -1, 2, "b"]    arr = filter(arr, isNumeric) ; // arr = [3,4,-1, 2],  过滤出数字    console.log(arr)    arr = filter(arr, function(val) { return val > 0 });  // arr = [2] 过滤出大于0的整数    console.log(arr)

コード:

ucFirst("hunger") == "Hunger"

数学関数

関数 limit2 を記述し、数値を小数点以下 2 桁に保ちます


function ucFirst(string){
return string[0].toUpperCase()+string.slice(1);
}
console.log(ucFirst("hunger"))
ucFirst("hunger") == "Hunger"

コード:


truncate("hello, this is hunger valley,", 10)) == "hello, thi...";
truncate("hello world", 20)) == "hello world"

最小値を含み、最大値を除く最小値から最大値までの乱数を取得する関数を作成します。

コード:

function truncate(str,maxlength){
if(str.length>maxlength){
var sub = str.substring(maxlength)
str =  str.replace(sub,&#39;...&#39;);
} return str;
}
console.log(truncate("hello, this is hunger valley,", 10));
truncate("hello, this is hunger valley,", 10) == "hello, thi...";
truncate("hello world", 20) == "hello world"

ランダムな整数を取得する関数を作成します。最小値から最大値まで (最小値と最大値を含む)

コード:


var num1 = 3.456
limit2( num1 );  //3.46
limit2( 2.42 );    //2.42

ランダムな配列を取得する関数を作成します。配列の要素は、長さ len、最小値、最大値の乱数です。

コード:

var num1 = 3.456
function limit2(data){
var num = Math.round(data*100);
return num/100
}
limit2( num1 );  //3.46
limit2( 2.42 );    //2.42
console.log(limit2(num1));
console.log(limit2(2.42));
console.log(limit2(-1.15555555))

この記事のケースを読んだことがあるかと思います。この方法をマスターしたら、よりエキサイティングなコンテンツについては、php 中国語 Web サイトの他の関連記事に注目してください。



JSのクロージャーとタイマー



JS Domとイベントの概要

以上がJavaScript の配列文字列演算関数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
HTML対CSS対JavaScript:比較概要HTML対CSS対JavaScript:比較概要Apr 16, 2025 am 12:04 AM

Web開発におけるHTML、CSS、およびJavaScriptの役割は次のとおりです。HTMLはコンテンツ構造を担当し、CSSはスタイルを担当し、JavaScriptは動的な動作を担当します。 1。HTMLは、セマンティクスを確保するためにタグを使用してWebページの構造とコンテンツを定義します。 2。CSSは、セレクターと属性を介してWebページスタイルを制御して、美しく読みやすくします。 3。JavaScriptは、動的でインタラクティブな関数を実現するために、スクリプトを通じてWebページの動作を制御します。

HTML:それはプログラミング言語か何か他のものですか?HTML:それはプログラミング言語か何か他のものですか?Apr 15, 2025 am 12:13 AM

htmlisnotaprogramminglanguage; itisamarkuplanguage.1)htmlStructuresandformatswebcontentusingtags.2)ItworkswithcsssssssssdjavascriptforInteractivity、強化を促進します。

HTML:Webページの構造の構築HTML:Webページの構造の構築Apr 14, 2025 am 12:14 AM

HTMLは、Webページ構造の構築の基礎です。 1。HTMLは、コンテンツ構造とセマンティクス、および使用などを定義します。タグ。 2. SEO効果を改善するために、などのセマンティックマーカーを提供します。 3.タグを介したユーザーの相互作用を実現するには、フォーム検証に注意してください。 4. JavaScriptと組み合わせて、動的効果を実現するなどの高度な要素を使用します。 5.一般的なエラーには、閉じられていないラベルと引用されていない属性値が含まれ、検証ツールが必要です。 6.最適化戦略には、HTTP要求の削減、HTMLの圧縮、セマンティックタグの使用などが含まれます。

テキストからウェブサイトへ:HTMLの力テキストからウェブサイトへ:HTMLの力Apr 13, 2025 am 12:07 AM

HTMLは、Webページを構築するために使用される言語であり、タグと属性を使用してWebページの構造とコンテンツを定義します。 1)htmlは、などのタグを介してドキュメント構造を整理します。 2)ブラウザはHTMLを分析してDOMを構築し、Webページをレンダリングします。 3)マルチメディア関数を強化するなど、HTML5の新機能。 4)一般的なエラーには、閉じられていないラベルと引用されていない属性値が含まれます。 5)最適化の提案には、セマンティックタグの使用とファイルサイズの削減が含まれます。

HTML、CSS、およびJavaScriptの理解:初心者向けガイドHTML、CSS、およびJavaScriptの理解:初心者向けガイドApr 12, 2025 am 12:02 AM

webdevelopmentReliesOnhtml、css、andjavascript:1)htmlStructuresContent、2)cssStylesit、および3)Javascriptaddsinteractivity、形成、

HTMLの役割:Webコンテンツの構造HTMLの役割:Webコンテンツの構造Apr 11, 2025 am 12:12 AM

HTMLの役割は、タグと属性を使用してWebページの構造とコンテンツを定義することです。 1。HTMLは、読みやすく理解しやすいようなタグを介してコンテンツを整理します。 2。アクセシビリティとSEOを強化するには、セマンティックタグなどを使用します。 3. HTMLコードの最適化により、Webページの読み込み速度とユーザーエクスペリエンスが向上する可能性があります。

HTMLとコード:用語を詳しく見るHTMLとコード:用語を詳しく見るApr 10, 2025 am 09:28 AM

htmlisaspecifictypeofcodefocuseduructuringwebcontent

HTML、CSS、およびJavaScript:Web開発者に不可欠なツールHTML、CSS、およびJavaScript:Web開発者に不可欠なツールApr 09, 2025 am 12:12 AM

HTML、CSS、およびJavaScriptは、Web開発の3つの柱です。 1。HTMLは、Webページ構造を定義し、などなどのタグを使用します。2。CSSは、色、フォントサイズなどのセレクターと属性を使用してWebページスタイルを制御します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター