JavaScript では、length 属性を使用して配列の長さを取得できます。構文は「array object.length」です。reduce() 関数またはreduceRight() 関数を使用して、配列の長さの合計を求めることができます。要素の構文は「arr.reduce(function f (pre,curr){return pre cur})」または「arr.reduceRight(function f(pre,curr){return pre cur})」です。
このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。
配列の長さを調べるための JavaScript
JavaScript では、配列オブジェクトの length プロパティを使用して、配列の長さを取得することができます。配列の長さ。
各配列には length 属性があり、配列の最大長を返します。つまり、その値は添え字の最大値に 1 を加えた値に等しくなります。数値添字は 2^32-1 未満である必要があるため、長さ属性の最大値は 2^32-1 に等しくなります。
例 1
次のコードは、空の配列を定義し、インデックスが 100 である要素に値を割り当てます。その後、長さ属性は 101 を返します。したがって、長さ属性は実際の配列要素の数を反映できません。
var a = []; //声明空数组 a[100] = 2; console.log(a.length); //返回101
出力:
101
length プロパティは読み取りおよび書き込み可能であり、動的プロパティです。 length 属性値も、配列要素が変更されると自動的に更新されます。同時に、length 属性値がリセットされると、配列の要素にも影響します。具体的な手順は次のとおりです:
length 属性が現在の長さよりも小さい値に設定されている場合値を指定すると、配列は切り捨てられ、新しい長さは次のようになります。他の要素の値はすべて失われます。
length プロパティが現在の長さの値より大きい値に設定されている場合、空の配列が配列の末尾に追加され、配列が新しく指定された長さまで拡張され、読み取りが行われます。値は不定になります。
例 2
次のコードは、配列の長さ属性値の動的な変更の影響を示しています。
var a = [1,2,3]; //声明数组直接量 a.length = 5; //增长数组长度 console.log(a[4]); //返回undefined,说明该元素还没有被赋值 a.length = 2; //缩短数组长度 console.log(a[2]); //返回undefined,说明该元素的值已经丢失
出力:
undefined undefined
配列の合計を求めるJavaScript
##方法 1:reduce() を使用します。
reduce() 配列要素を (左から右に) 値に計算します。var a = [1, 2, 3, 4, 5]; var b =a.reduce(function f(pre, curr){ return pre + curr; }); console.log(b);
array.reduce(callbackfn[, initialVaule]);
function callbackfn(previousValue, currentVaule, currentIndex, array);
方法 2:reduceRight()
reduceRight() を使用して、配列要素を (右から左に) 値に計算します。var arr = [1, 2, 3, 4, 5, 5]; var b =arr.reduceRight(function f(pre, curr){ return pre + curr; }); console.log(b);
array.reduceRight(callbackfn[, initialValue]);
该方法的语法和用法与 reduce() 方法大概相同,唯一不同的是,它是从数组右侧开始调用回调函数。如果提供了 initialValue,则 reduceRight() 方法会按降序索引顺序对数组中的每个元素调用一次 callbackfn 函数。如果未提供 initialValue,则 reduceRight() 方法会按降序索引顺序对每个元素(从倒数第 2 个元素开始)调用 callbackfn 函数。
【相关推荐:javascript视频教程、web前端开发】
以上がJavaScript で配列の要素の長さと合計を見つける方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。