Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.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中不起作用_Javascript_Node.js_Redis - Fatal编程技术网

简单的反移位和唯一性在JavaScript中不起作用

简单的反移位和唯一性在JavaScript中不起作用,javascript,node.js,redis,Javascript,Node.js,Redis,非常简单的代码,却让我绞尽脑汁几个小时?正如您在add函数中看到的,它基本上需要2个参数;IP地址和UNIX日期 const redis = require("redis"), client = redis.createClient(); const {promisify} = require('util'); const getAsync = promisify(client.get).bind(client); const setAsync = promisify(client.set).b

非常简单的代码,却让我绞尽脑汁几个小时?正如您在
add
函数中看到的,它基本上需要2个参数;IP地址和UNIX日期

const redis = require("redis"), client = redis.createClient();
const {promisify} = require('util');
const getAsync = promisify(client.get).bind(client);
const setAsync = promisify(client.set).bind(client);

_ = require('lodash');
_weg = require('wegweg')({
    globals: false
});

module.exports = {

    add: async function (ip, cday) {
        var key = _weg.md5('dact:' + ip);
        return await getAsync(key).then((result) => {
            let value;
            if (result == null) {
                value = [];
            } else {
                value = result;
            }
            value = value.unshift(cday);
            value = _.uniq(value);
            return setAsync(key, value);
        });
    }

};
因此,如果我继续前进并通过这两项:

await ping_history.add("127.0.0.1", 1562774400);

似乎没有插入数组或其他什么
应该是一个MD5
应该是一个日期数组,所有日期都是唯一的。

取消移位方法修改数组,但不返回新数组。
unshift
的返回值是数组的新长度。那以后呢

value = value.unshift(cday);
value
变量现在包含一个数字,而不是数组。
value=[1,2,3,4];
值=值。取消移位(10);
console.log(值)