gpt4 book ai didi

javascript - 逻辑错误! in 使用字符串在指定位置插入数组

转载 作者:行者123 更新时间:2023-12-05 02:00:28 26 4
gpt4 key购买 nike

我正在编写一个函数来提取单词中包含的单词的索引,例如:4of Fo1r pe6ople g3ood th5e the2 这应该按顺序对齐,下面是代码,

function order(words){
var result = []
var sorting = words.split(' ').sort()
console.log(sorting);
for(let i=0; i<sorting.length;i++)
{
var temp = sorting[i].split('').sort()//By this the words in the sentence get sorted and i will get the index(number) of the corresponding word at first position.
console.log(temp);
var valueHolder = parseInt(temp) //I will take the above obtained value and convert it into integer
console.log(valueHolder);
result.splice((valueHolder-1),0,sorting[i]) //will pass the index here
}
console.log(result);
}

但我得到了错误的输出:[ 'Fo1r', 'the2', '4of', 'g3ood', 'pe6ople', 'th5e' ]我错过了什么吗,谁能帮我解决这个问题谢谢。以上 array.splice(index,0,item) 只会在指定位置插入元素,并且 0

预期输出为:[ 'Fo1r', 'the2', 'g3ood', '4of', 'th5e','pe6ople' ]

最佳答案

您可以使用正则表达式然后解析 9 以上的数字。

正则表达式 const r =/\d+/; 查找一位或多位数字。然后在排序方法 a.match(r) 中使用正则表达式,然后解析和比较结果数字。

const str = '4of Fo1r pe6ople g3ood th5e no71w the2';

function order(words) {
let result = [];
let sorting = words.split(' ');
const r = /\d+/;

sorting.sort((a,b) => {
return parseInt(a.match(r)) - parseInt(b.match(r));
});
console.log(sorting.join(' '));
}
order(str);

关于javascript - 逻辑错误! in 使用字符串在指定位置插入数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67329283/

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