ws.write = (result.join(‘,’) ‘n’);

#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])
}
}