Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 创建没有未定义的json_Javascript_Json_Amazon Dynamodb - Fatal编程技术网

Javascript 创建没有未定义的json

Javascript 创建没有未定义的json,javascript,json,amazon-dynamodb,Javascript,Json,Amazon Dynamodb,我正在编写一个代码,在这里我需要做一个dynamodb扫描,在那里我需要创建一个带有值的数组响应,当我这样做时,它添加了未定义的。 这是我以前皇后的延续 这是我的密码 var results = []; var array=["a","b"]; for (index = 1; index <= 5; ++index) { var params1 = { TableName: "MyCatTable", FilterExpression: "#

我正在编写一个代码,在这里我需要做一个dynamodb扫描,在那里我需要创建一个带有值的数组响应,当我这样做时,它添加了
未定义的
。
这是我以前皇后的延续

这是我的密码

var results = [];
var array=["a","b"];
for (index = 1; index <= 5; ++index) {
        var params1 = {
        TableName: "MyCatTable",
        FilterExpression: "#rule=:rule",
        ExpressionAttributeNames: {
            "#rule": "rule"
        },
        ExpressionAttributeValues: {
            ":rule": String(index)
        }
};
results.push(dynamodb.scan(params1).promise().then(function (data) {
                if (data.Items.length == 2) {
                    var uw = [];
                    console.log("Entered");
                    for (var i = 0; i < 2; i++) {
                        if (array.indexOf(data.Items[i].category) >= 0) {
                            console.log("pushing");
                            uw.push(data.Items[i].category);
                        }
                    }
                    if (uw.length > 1) {
                        return uw;
                    } else return "x";

                } else {
                    return "x";
                }
            }));
        }
    return Promise.all(results);
}).then((data) => {
    console.log("----------------------");
    console.log(data);
}).catch(err => {
    console.log(err)
})
在这里,当我删除
返回“x”
时,我得到的输出是

[
  undefined,
  ['a', 'b'],
  ['a', 'b'],
  undefined,
  undefined
]
我想知道是否有办法

[
  ['a', 'b'],
  ['a', 'b'],
]

将评论扩展为答案


从Javascript数组中删除
未定义的
值的问题已在中解决,最简单的方法是使用
filter
函数(ES6)

将返回删除了
未定义的
值的数组


另外,请注意,数组中首先出现
未定义的
值的原因是,.

将注释扩展为答案


从Javascript数组中删除
未定义的
值的问题已在中解决,最简单的方法是使用
filter
函数(ES6)

将返回删除了
未定义的
值的数组


另外,请注意
未定义的
值首先出现在数组中的原因是,.

我不知道当结果未定义时是否可以避免返回。但您可以做的是将结果作为
数据进行筛选。筛选(d=>d)
删除
未定义的
值。@Striped。。。还有虚假的价值观。建议
data.filter(d=>d!==undefined)
。谢谢@user202729和Striped。。。这是有效的:)我不知道当结果未定义时是否可以避免返回。但您可以做的是将结果作为
数据进行筛选。筛选(d=>d)
删除
未定义的
值。@Striped。。。还有虚假的价值观。建议
data.filter(d=>d!==undefined)
。谢谢@user202729和Striped。。。这起作用了:)
[
  ['a', 'b'],
  ['a', 'b'],
]
data.filter(d => d !== undefined)