如何在javascript中删除维数组中的元素

时间:2017-11-23 19:33:50

标签: javascript arrays json multidimensional-array splice

var url = "website address"

function getdata() { 
    var sheet = SpreadsheetApp.getActiveSheet(); 
    sheet.getRange('A1').setValue('fetching...'); 

    try { 
    var response = UrlFetchApp.fetch(url); 
    var json = JSON.parse(response.getContentText()); 
    var data = {}; 

        if (json && json.alldata) { 
            json.alldata.forEach(function(elem) { 
            data[elem.name] = elem}); 
            } 


        sheet.getRange('A1').setValue('success'); 
        sheet.getRange('B1').setValue(JSON.stringify(data)); 
        }
        catch(ex) {sheet.getRange('A1').setValue('error');} 
        } 

上述数据在网站上

我希望它能够在谷歌电子表格中解析

"You entered more than 50,000 characters in a single cell."

我成功了,直到这个

但网站上的'alldata'太大了

我在表单上收到错误消息

delete json.alldata["location"]

所以,我想删除'location'和'point'

但我不知道我该怎么做

for(var i = 0; i<json.alldata.length;i++){
    if(json.alldata[i][1] == "location"){
    json.alldata[i].splice(1.1);
    }
{

我试了但是没有用

java -jar $AVRO_HOME/avro tojson largeAvroFile.avro | head -3

我也试过但没有工作

我该怎么做?请帮忙.. 感谢

3 个答案:

答案 0 :(得分:0)

for(var i = 0; i<json.alldata.length;i++){
    delete json.alldata[i]["location"];
}

应该有用。

答案 1 :(得分:0)

你可以使用Objectif.assign创建一个包含你想要的值的新对象,在Object.assign documentation here

答案 2 :(得分:0)

实现这一目标的最实用和最干净的方法是

var newdata = json.alldata.map((obj)=>{delete obj.location; return obj})