Javascript NodeJS:如何将大字符串分隔成一个数字数组,然后添加所有索引为偶数的字符串
从中获取原始字符串的数组如下所示:Javascript NodeJS:如何将大字符串分隔成一个数字数组,然后添加所有索引为偶数的字符串,javascript,arrays,node.js,Javascript,Arrays,Node.js,从中获取原始字符串的数组如下所示: arr[0]: 11-3 12-6 arr[1]: 5-9 7-2 18-2 arr[2]: 2-7 (这只是一个例子,一般的想法是,arr中可以有任意数量的对象,每个对象中的字符串包含任意数量的#-#组合) 我尝试将左侧的所有数字相加(如果使用上面的示例,它会将11、12、5、7、18和2相加),并将该数字存储在一个变量中 我该怎么办 编辑1:尝试的代码: var winsLossNums = winLoss[0].match(/\
arr[0]:
11-3
12-6
arr[1]:
5-9
7-2
18-2
arr[2]:
2-7
(这只是一个例子,一般的想法是,arr
中可以有任意数量的对象,每个对象中的字符串包含任意数量的#-#组合)
我尝试将左侧的所有数字相加(如果使用上面的示例,它会将11、12、5、7、18和2相加),并将该数字存储在一个变量中
我该怎么办
编辑1:尝试的代码:
var winsLossNums = winLoss[0].match(/\d+/g).map(Number)
for (var i = 0; i < winLoss[0].match(/\d+/g).map(Number).length; i++) {
if (i % 2 === 0) {
totalNums.push(winLoss[0].match(/\d+/g).map(Number)[i]);
}
}
}
var winsLossNums=winLoss[0]。匹配(/\d+/g)。映射(编号)
对于(var i=0;i
此代码在一个循环中,每个循环都有一个新的
arr
对象,如上例中所示假设数组值是字符串,它们之间有一条新行,您可以在数组上进行缩减,在\n
上拆分每个值,然后在“-”上拆分第一个值时再次进行缩减:
让arr=['11-3\n12-6','5-9\n7-2\n18-2','2-7']
让tot=arr.reduce((a,c)=>{
让pairs=c.split('\n')
返回a+对。减少((a,c)=>a+数(c.split('-')[0]),0)
}, 0)
控制台日志(tot)
console.log(11+12+5+7+18+2)
您可以尝试以下方法:
let arr = [
[
'11-3',
'12-6'
], [
'5-9',
'7-2',
'18-2'
], [
'2-7'
]
];
let sum = 0;
for (let index=0; index<arr.length; index++) {
let arrayMasterElement = arr[index];
// console.log(arrayMasterElement);
for (let index2=0; index2<arrayMasterElement.length; index2++) {
let arrayElement = arrayMasterElement[index2];
let elementArray = arrayElement.split('-');
let intVal = parseInt(elementArray[0]);
console.log('Int value: ' + intVal);
sum += intVal;
}
if (index == arr.length - 1) {
console.log('Sum: ' + sum);
}
}
让arr=[
[
'11-3',
'12-6'
], [
'5-9',
'7-2',
'18-2'
], [
'2-7'
]
];
设和=0;
对于(让index=0;indexI在中编辑了一些代码),Sorry我真的不能告诉您的数组发生了什么。这些多行字符串是带破折号的吗?您能包含引号并使其成为有效的JS或JSON吗?