例を通して JavaScript 配列メソッドのスライス() の使用方法を学びます

青灯夜游
リリース: 2020-12-29 09:35:21
転載
1820 人が閲覧しました

次の記事では、例を通して JavaScript で配列メソッドのスライス() を使用する方法を分析します。一定の参考値があるので、困っている友達が参考になれば幸いです。

例を通して JavaScript 配列メソッドのスライス() の使用方法を学びます

#関連する推奨事項: 「

JavaScript ビデオ チュートリアル #」

slice() メソッドの紹介

slice() は、現在の配列内の 1 つ以上の要素に基づいて新しい配列を作成します。 1 つまたは 2 つのパラメータ、返される開始位置と終了位置を受け入れることができます。

1 つのパラメーター:slice() メソッドは、パラメーターで指定された位置から現在の配列の末尾までのすべての項目を返します。

2 つのパラメーター: このメソッドは、開始位置と終了位置の間の項目を返します (ただし、終了位置の項目は含まれません)。

slice は元の配列には影響しません。

終了位置が開始位置より小さいため、空の配列が返されます。

負の数値を受け入れ、配列の長さに負の数値を加えた値を使用して、対応する位置を決定できます。

例は次のとおりです。

var arr = [1, 2, 3, 'a', 'b', 'c', 'd'];
Array.prototype.copySlice =function() {
  var newArr = [];
  var len = this.length;
  var argLen = arguments.length;
  if(arguments.length == 1) {//一个参数
    var startNum = arguments[0] > 0 ? arguments[0] : (len + arguments[0]);
    for(var i = startNum; i < len; i++) {
      newArr.push(arr[i]);
    }
  }
  else if(arguments.length == 2) {//两个参数
    var startNum = arguments[0] > 0 ? arguments[0] : (len + arguments[0]);
    var endNum = arguments[1] > 0 ? arguments[1] : (len + arguments[1]);
    if(startNum >= endNum) {//起始索引大于终止索引,返回[]
      return newArr;
    }
    else {
      for(var i = startNum; i < endNum; i++) {
        newArr.push(arr[i]);
      }
    }
  }
  return newArr;
};
console.log(arr.length); // 7
// 一个参数
console.log(arr.copySlice(2)); // [3, "a", "b", "c", "d"]
// 两个参数
console.log(arr.copySlice(3, 6));  //["a", "b", "c"]
console.log(arr);  //[1, 2, 3, "a", "b", "c", "d"]
// 接收负数
console.log(arr.copySlice(-2)); // ["c", "d"]
console.log(arr.copySlice(-5, 6)); //[3, "a", "b", "c"]
//结束位置小于起始位置,返回空数组。
console.log(arr.copySlice(-5, -6)); //[]
console.log(arr.copySlice(5, 5)); //[]
console.log(arr.copySlice(5, )); // ["c", "d"]
ログイン後にコピー

実行結果の一部を図に示します。

例を通して JavaScript 配列メソッドのスライス() の使用方法を学びます

#プログラミング関連の詳細については、知識がある場合は、

プログラミング入門 を参照してください。 !

以上が例を通して JavaScript 配列メソッドのスライス() の使用方法を学びますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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