Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

การคืนค่าอาร์เรย์ที่มากกว่าด้วยขนาด 1 ใน JavaScript

ปัญหา

เราต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของจำนวนเต็มบวก arr เป็นอาร์กิวเมนต์เดียว

ฟังก์ชันควรก่อนรวมตัวเลขในอาร์เรย์เพื่อหาตัวเลขเดี่ยวที่อาร์เรย์แทน แล้วคืนค่าอาร์เรย์ใหม่ที่แทนตัวเลขที่มากกว่าตัวเลขของอาร์เรย์อินพุตขนาด 1

ตัวอย่างเช่น หากอินพุตคือ

อินพุต

const arr = [6, 7, 3, 9];

เอาต์พุต

const output = [6, 7, 4, 0];

คำอธิบายเอาต์พุต

เพราะตัวเลขที่อาร์เรย์อินพุตแทนคือ 6739 และตัวเลขที่ต้องการคือ 6740

ตัวอย่างโค้ด

const arr = [6, 7, 3, 9];
const justGreater = (arr = []) => {
if (!arr.every(v => v >= 0) || arr.length === 0) {
return null;
};
if (arr.some(v => v.toString().length > 1)) {
return null;
};
let res = [];
for (let i = 0; i < arr.length; i += 15) {
res.push(arr.slice(i, i + 15));
};
res[res.length - 1] = res[res.length - 1].join('') * 1 + 1;
res = res.map(v => Array.isArray(v) ? v.join('') * 1 : v);
return (res.join('')).split('').map(v => v * 1);
};
console.log(justGreater(arr));

ผลลัพธ์

[6, 7, 4, 0]