gpt4 book ai didi

javascript - 需要对这段代码进行解释

转载 作者:行者123 更新时间:2023-11-28 18:20:54 26 4
gpt4 key购买 nike

我遇到了这段我无法理解的代码。

arr.slice(arr.findIndex(func) >= 0 ? arr.findIndex(func): arr.length, arr.length);

我知道“?”可以被认为是“then”,而“:”则被认为是“else”。我特别不明白这个位 arr.length, arr.length 的含义。如果您能向我解释这一点,我将不胜感激

这是完整上下文中的代码:

function dropElements(arr, func) {
return arr.slice(arr.findIndex(func) >= 0 ? arr.findIndex(func): arr.length, arr.length);
}

// test here
var result = dropElements([1, 2, 3, 4], function(n) {return n >= 3;});

console.log(result)

最佳答案

当您需要解释代码时,这可能表明代码写得不好。至少这样的一行需要注释来解释它。

相反,请考虑重写:

function dropElements(arr,func) {
var start = arr.findIndex(func);
if( start < 0) {
// no match
return [];
}
else {
return arr.slice(start);
}
}

请注意,第二个 arr.length 是多余的 - 如果没有另外指定,.slice() 将切片到数组的末尾。

关于javascript - 需要对这段代码进行解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39917026/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com