ホームページ  >  記事  >  ウェブフロントエンド  >  js配列メソッドslice()の詳しい使用例

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

王林
王林転載
2020-03-07 10:50:436324ブラウズ

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 までご連絡ください。