js配列メソッドslice()の詳しい使用例

王林
リリース: 2020-03-07 10:50:43
転載
6333 人が閲覧しました

js配列メソッドslice()の詳しい使用例

slice() メソッドの概要

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

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

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

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

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

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

(推奨学習: javascript チュートリアル)

例は次のとおりです。

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"]
ログイン後にコピー

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

js配列メソッドslice()の詳しい使用例

プログラミング関連のチュートリアルをさらに詳しく知りたい場合は、php 中国語 Web サイトの プログラミング入門 列に注目してください。

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

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