#javascript
#javascript
Вопрос:
помогите решить эту проблему с javascript. Дайте мне четкую документацию о (join) .
function main() {
const ws = fs.createWriteStream(process.env.OUTPUT_PATH);
const a = readLine().replace(/s $/g, '').split(' ').map(aTemp => parseInt(aTemp, 10));
const b = readLine().replace(/s $/g, '').split(' ').map(bTemp => parseInt(bTemp, 10));
const result = compareTriplets(a, b);
ws.write = (result.join(',') 'n');
ws.end();
}
Комментарии:
1. каков результат результата?
Ответ №1:
Очистить документацию для объединения
const result = compareTriplets(a, b);
Не уверен, что такое compareTriplets, но на основе слова compare я предполагаю, что оно возвращает логическое значение. Вы пытаетесь присоединиться к логическому выражению. Если вам нужна одна строка, содержащая A и B, поместите A и B в массив, а затем используйте join . Но с таким небольшим количеством информации трудно понять, чего вы пытаетесь достичь.
Основываясь на вашем коде, я предполагаю, что A и B оба являются массивами. Если вы хотите соединить элементы вместе, сделайте это. Также предполагается, что результат является логическим значением.
function main() {
const ws = fs.createWriteStream(process.env.OUTPUT_PATH);
const a = readLine().replace(/s $/g, '').split(' ').map(aTemp => parseInt(aTemp, 10));
const b = readLine().replace(/s $/g, '').split(' ').map(bTemp => parseInt(bTemp, 10));
const result = compareTriplets(a, b);
if(result){
ws.write = (a.join(',') ',' b.join(',') 'n');
}
ws.end();
}
Ответ №2:
Я столкнулся с той же проблемой в задаче на Hackkerank, что я делал неправильно, так это то, что я возвращал результаты как «return (scoreOfA, scoreOfB)», но правильный формат был «return ([scoreOfA, scoreOfB])», поскольку он использует «join», который принимает массив какввод .
function compareTriplets(a, b) {
let scoreA=0,scoreB=0;
for(let i=0;i<3;i ){
if(a[i] > b[i]){ scoreA = 1}
else if(a[i]< b[i]){ scoreB = 1}
}
return ([scoreA,scoreB])
}
}