gpt4 book ai didi

javascript - 在 JS 中 trim 数组

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:26:12 28 4
gpt4 key购买 nike

我有一个数组说

['(','C','1','2',')']

现在我想从 indexOf('C') + 2 开始的数组中 trim 数据,如果它是一个数字,我需要将它从数组中删除。所以对于上面的示例最终数组必须是

 ['(','C','1',')']

例如,如果我有 ['(','C','1','2','3','*',')'] 我希望它被 trim 到 ['(','C','1','*',')'] , 在元素 'C' 之后只允许一个数字。

我知道我可以通过获取 indexOf('C') 然后检查每个元素的数字来遍历数组.. 但可以帮助我找到一些有效且更好的方法。比如使用 splice 什么的。

最佳答案

如果你想“trim ”的位置是已知的,你可以在这里使用 filter,比如:

var a = ['(','C','1','2','3','*',')']
.filter( function(a){
this.x += 1;
return this.x<=2 ? a : isNaN(+a);}, {x:-1}
);

这可能导致此 Array 扩展:

Array.prototype.trimNumbersFrom = function(n){ 
return this.filter( function(a){
this.x += 1;
return this.x<=n ? a : isNaN(+a);
}, {x:-1}
);
};
//=> usage
var a = ['(','C','1','2','3','*',')'].trimNumbersFrom(2);
//=> ["(", "C", "1", "*", ")"]

See also ...

关于javascript - 在 JS 中 trim 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15608284/

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