Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

ส่งคืนอาร์เรย์ที่มากขึ้นใน 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]