foldIndexed
val numbers = arrayOf(1, 2, 3, 4, 5)
// 计算所有元素的索引加权和
val weightedSum = numbers.foldIndexed(0) { index, acc, element -> acc + element * (index + 1) }
// 输出:索引加权和: 55
_console.log("索引加权和: ", weightedSum)
def numbers = $objectWrappers.wrap($arrays.arrayOf($plugins.loadClass("java.lang.Integer"), 1, 2, 3, 4, 5))
// 计算所有元素的索引加权和
def weightedSum = numbers.foldIndexed(0) { index, acc, element -> acc + element * (index + 1) }
// 输出:索引加权和: 55
$console.log("索引加权和: ", weightedSum)
let numbers = $objectWrappers.wrap($arrays.arrayOf($plugins.loadClass("java.lang.Integer"), 1, 2, 3, 4, 5))
// 计算所有元素的索引加权和
let weightedSum = numbers.foldIndexed(0, (index, acc, element) => acc + element * (index + 1))
// 输出:索引加权和: 55
$console.log("索引加权和: ", weightedSum)
local numbers = _objectWrappers:wrap(_arrays:arrayOf(_plugins:loadClass("java.lang.Integer"), 1, 2, 3, 4, 5))
-- 计算所有元素的索引加权和
local weightedSum = numbers:foldIndexed(0, function(index, acc, element)
return acc + element * (index + 1)
end)
-- 输出:索引加权和: 55
_console:log("索引加权和: ", weightedSum)
<?php
$numbers = $objectWrappers->wrap($arrays->arrayOf($plugins->loadClass("java.lang.Long"), 1, 2, 3, 4, 5));
// 计算所有元素的索引加权和
$weightedSum = $numbers->foldIndexed(0, function ($index, $acc, $element) {
return $acc + $element * ($index + 1);
});
// 输出:索引加权和: 55
$console->log("索引加权和: ", $weightedSum);
numbers = _objectWrappers.wrap(_arrays.arrayOf(_plugins.loadClass("java.lang.Long"), 1, 2, 3, 4, 5))
# 计算所有元素的索引加权和
weightedSum = numbers.foldIndexed(0, lambda index, acc, element: acc + element * (index + 1))
# 输出:索引加权和: 55
_console.log("索引加权和: ", weightedSum)
# encoding: utf-8
numbers = $objectWrappers.wrap($arrays.arrayOf($plugins.loadClass("java.lang.Long"), 1, 2, 3, 4, 5))
# 计算所有元素的索引加权和
weightedSum = numbers.foldIndexed(0) { |index, acc, element| acc + element * (index + 1) }
# 输出:索引加权和: 55
$console.log("索引加权和: ", weightedSum)
Last modified: 05 September 2025