पाठ के साथ एक सेल मिलने के बाद मैं कॉलम के भीतर से पंक्तियों की एक सूची प्राप्त करने का प्रयास कर रहा हूं। तो मेरे उदाहरण में मुझे "नाम" सेल के बाद पहले कॉलम में सभी नाम चाहिए
मेरे पास वर्तमान में निम्नलिखित हैं लेकिन मुझे नहीं पता कि मैं क्या कर रहा हूं क्योंकि यह पहली बार Google स्क्रिप्ट का उपयोग कर रहा है
function getNames(){
var sheet = SpreadsheetApp.openById(mastersPoolID);
var data = sheet.getDataRange().getValues();
var col = data[0].findIndex((name) => name === 'Name') + 1;
Logger.log(col);
return ContentService
.createTextOutput(JSON.stringify(col))
.setMimeType(ContentService.MimeType.JSON);
}
0
Wazza
11 नवम्बर 2020, 21:42
1 उत्तर
सबसे बढ़िया उत्तर
यह करते हैं काम:
function getNames(){
var sheet = SpreadsheetApp.openById(mastersPoolID);
var data = sheet.getRange("A:A").getValues().flat().filter(a => a != '');
return data.slice(data.indexOf('Name') + 1);
}
व्याख्या:
- हमें केवल पहले कॉलम की जरूरत है, इसलिए चीजों को सरल बनाने के लिए हम केवल कॉलम ए को ही लेंगे।
- Array.prototype.flat
getValues()
द्वारा लौटाए गए ऐरे को समतल करता है - Array.prototype.filter उन सभी तत्वों को हटा देता है जो शर्त को पूरा नहीं करते हैं, इसमें सभी खाली तार हैं।
- Array.prototype.indexOf किसी तत्व की स्थिति ढूंढता है
- Array.prototype.slice तत्वों को स्थिति से प्राप्त करता है
var AA = [[''],[''],['Name'], [''],['John'],[''],['Mary']];
var data = AA.flat().filter(a => a != '');
console.log( data.slice(data.indexOf('Name') + 1));
3
Rubén
12 नवम्बर 2020, 00:05
संबंधित सवाल
नए सवाल
google-apps-script
Google उत्पादों और तृतीय-पक्ष सेवाओं के कार्यों को स्वचालित करने के लिए Google Apps स्क्रिप्ट, Google के जावास्क्रिप्ट-आधारित क्लाउड स्क्रिप्टिंग प्लेटफ़ॉर्म के बारे में प्रश्नों के लिए उपयोग करें। प्रासंगिक उत्पाद-विशिष्ट (उदा। [Google-sheet]], [google-docs]) या API-specific (उदा। [Google-drive-api]) टैग जहां लागू हो