javascript_javascriptスキルで指定された配列内の指定された要素を削除するコード

WBOY
リリース: 2016-05-16 18:10:57
オリジナル
862 人が閲覧しました

関数は次のとおりです:

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

foreach = function (obj, insp){
if(obj== null && obj.constructor != Array){
return [];
}
//obj は処理対象の配列、obj= =null はオブジェクトがまだ存在しないことを意味します; obj.constructor != 配列はオブジェクト obj のプロパティのコンストラクターが配列ではないことを示します。
//constructor 属性は常に現在のオブジェクトを作成するコンストラクターを指します。 。両方の条件が満たされる場合、空の配列 [] が返されます。
// コンストラクター属性について詳しく見てみましょう。
var obj= [1, 2, 3, 4]; // var obj= new Array(1, 2, 3, 4); と同等
console.log(obj.constructor === Array ) ; // obj のコンストラクターが Array であることを示す true を返します。
var foo= function() { }; // var foo = new Function() と同等です。 = Function); // foo のコンストラクターが Function であることを示す true を返します。
var obj = new Foo() // コンストラクターによって obj オブジェクトをインスタンス化します。
console.log(obj.constructor == =) Foo); // obj のコンストラクターが

であることを示す true を返します。 -------------------------------------------------- --------------------------------
var i=0、len = obj.length、r = [] ;
while(i var x = insp(obj[i], i);
if (x !== null) {
r[r.length] = x ;
}
i ;
}
return r;
}// パラメータ insp は、Operate に使用されるメソッドまたは関数を表します。各要素について。 2 つのパラメーターがパラメーター insp に渡され、obj[i] は配列内の各要素の値を表します。関数パラメーター insp は x に割り当てられ、最後に x の値が配列 r に割り当てられます。
----------------------------------------------- --- --------------------------------------------------- --- ----------
たとえば、配列内の各要素を走査する場合は、foreach 関数を参照します。
var testArray = [1,2,3,4,5 ,1,2,'w '];
foreach(testArray, function(i){
alert(i)
}); ---------- -------------------------------------- ------- -------------------------------------
--- ------ -------------------------------------------- ------ -------------------------------------------- -
別の関数を使用して、指定された配列内の指定された要素を削除します。



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

ArrayWithout = function(){
if (arguments.length < 2) {
// 引数は、関数のパラメーターを表す特別なオブジェクトです。
return argument.length = = 1 ? argument[0] : null;
var results = [];
var aa = argument[0]; // 最初のパラメータを配列 aa に代入します。 > if (aa === null || aa.constructor != Array) {
Return null; // aa が存在しないか、配列でない場合は、null を返します。 if(arguments [1].constructor == Array){
// 2 番目のパラメータが配列の場合、パラメータ配列内の対応する各要素を削除します。
var args = [] args[ 0 ] = aa;
//aa = argument[0] aa を配列 args の最初の要素値として代入します。
foreach(arguments[1], function(v, i){
//参照配列arguments[1]の各要素を操作する関数foreach、
args[i 1] = v;
// vは配列arguments[1]の各要素の値を表し、それらに1を割り当てますargs[1]、args[2]...、および args[0]=arguments[0];
});
else{
args = argument; 🎜>//2 番目のパラメータが配列でない場合は、パラメータの配列を args;
}
for(var i = 0;i < aa.length; i ){
var isWithout = true;
break;
// args args[0] の最初の要素は、処理する元の配列であるため、j は 1 から始まることに注意してください。配列 aa に
削除する各要素と元の配列 aa の要素を順番に比較し、同じであれば isWithout が false を返すので、次の結果が返されます。 (aa[i]) は実行されなくなります。 }
}
if (isWithout) {
results.push(aa[i]);削除する要素を新しい配列に代入します。
}
}
// 指定された要素が削除された配列を返します。 🎜>// ArrayWithout
var testArray = [1,2,3,4,5,1,2,'w'];
var result = ArrayWithout(testArray, 1 , 3); 🎜>//var result = ArrayWithout(testArray, [1, 4]);
alert(result) //[2,4,5,2]


ソースコードは次のとおりです




コードをコピー


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


foreach = function (obj, insp) ) {
if(obj == null && obj.constructor != Array){
return [];
}
var i=0, len = obj.length, r = [];
while(ivar x = insp(obj[i], i);
if (x !== null) {
r[r.length] = x;
} i ; } return r; } if (arguments.length < 2) { return引数 .length == 1 ? 引数[0] : null;
}
var 結果 = []; aa = 引数[0]; aa .constructor != Array) {
return null;
}
if(arguments[1].constructor == Array){
var args = []; = aa;
foreach(arguments[1], function(v, i){
args[i 1] = v;
});
else{
args = 引数;
}
for(var i = 0;i var isWithout = true;
for(var j = 1; j if(aa[i] == args[j]){
isWithout = false;
}
}
if (isWithout) {
results.push(aa[i]);
}
}
結果を返します
var testArray = [1,2,3,4,5,1] , 2];
foreach(testArray, function(i){
alert(i)
})
var result = ArrayWithout(testArray, 1, 3); = ArrayWithout(testArray, [1, 3]);
alert(result) //[2,4,5,2]

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