首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript:为数组数据赋值

Javascript:为数组数据赋值
EN

Stack Overflow用户
提问于 2017-05-13 11:22:24
回答 4查看 55关注 0票数 0

这是我的密码

代码语言:javascript
复制
function gotData(data){
        result = data.val() 
        const urls_kws = Object.keys(result)
                    .filter(key => result[key].last_res > 10)

        var keywords = urls_kws;

        console.log(urls_kws)

        for(var i=0;i<keywords.length;i++) {
        keywords[i] = keywords[i].replace(/-/gi, " " )
    }

}

结果是

代码语言:javascript
复制
[ '7-skinfood-gold-caviar-collagen-cream',
  'beauty-credit']

但是当我把console.log(urls_kws)移到下面

代码语言:javascript
复制
function gotData(data){
        result = data.val() 
        const urls_kws = Object.keys(result)
                    .filter(key => result[key].last_res > 10)

        var keywords = urls_kws;

        for(var i=0;i<keywords.length;i++) {
        keywords[i] = keywords[i].replace(/-/gi, " " )
    }

        console.log(urls_kws)
}

结果是

代码语言:javascript
复制
[ '7 skinfood gold caviar collagen cream',
  'beauty credit']

我的问题是如何保持urls_kws的值,因为我需要同时使用var urls_kws(with -)和关键字( to )。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-05-13 11:48:15

替换

代码语言:javascript
复制
    var keywords = url_knows

通过以下方式:

代码语言:javascript
复制
    var keywords = [];
    for(var i = 0; i < url_knows.length; i++){
        keywords.push(url_knows[i]);
    }
票数 1
EN

Stack Overflow用户

发布于 2017-05-13 11:29:46

urls_kws值没有被更改。您是该函数之外的控制台日志记录。所以它表现出了不同的价值。

您可以在最后一行函数中检查控制台日志记录,它将保持不变。

如果您想访问相同的urls_kws值,即使在该函数之外,也要将变量设置为全局变量。

为了使它成为全局变量:

代码语言:javascript
复制
window.variableName= variableName;
票数 0
EN

Stack Overflow用户

发布于 2017-05-13 11:44:05

列表是JavaScript中的对象,对象的行为不同。执行此var keywords = urls_kws;操作时,实际上是为内存中的对象创建另一个指针。

要复制对象,可以使用以下符号:var objClone = JSON.parse(JSON.stringify(object));

代码语言:javascript
复制
function gotData(data){
    result = data.val() 
    const urls_kws = Object.keys(result)
                .filter(key => result[key].last_res > 10)

    var keywords =  JSON.parse(JSON.stringify(urls_kws));

    for(var i=0;i<keywords.length;i++) {
        keywords[i] = keywords[i].replace(/-/gi, " " );
    }

    console.log(urls_kws);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43952537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档