草庐IT

javascript - 更改 JavaScript 对象中的键名

我正在检查JavaScript对象中的属性,通过删除前缀“元素”替换一些键并将新值保存在另一个对象中。varkeys=Object.keys(json);for(varj=0;j问题是,当我这样做时,我可以记录所有键,它们具有正确的名称,但是当我尝试设置与这些键关联的值时,它们是未定义的(json[key])。这是因为我将键(Objects)转换为Strings(使用replace方法)吗? 最佳答案 我们将编写一个小函数来按照您想要的方式修复key。functionfix_key(key){returnkey.replace(/^

javascript - 如何检查我的键是否存在于对象数组中

vararr=[{key:"key1",value:"z"},{key:"key2",value:"u"},{...}];如何检查我的key:"key1"是否已经存在。如果它不存在,我需要在ma数组中添加键。if(arr.hasOwnProperty("key1")){arr.unshift({key:"key1",value:"z"});} 最佳答案 为了更容易,您应该这样存储您的数据:varmap={"key1":"z","key2":"u"};然后您可以进行检查,如果您的键不与对象上的任何现有属性冲突,并且您不需要空值,则可以

javascript - 在 React.js 中将 key 传递给 child

我正在浏览一个关于tutsplus的React教程,它有点旧,而且代码不能像最初编写的那样工作。实际上,我完全同意这一点,因为它迫使我更加独立地学习,但是我花了一段时间来解决一个我无法弄清楚的错误。该错误包括无法传递对象键,这会阻止我的程序更新正确对象的状态。如果您想运行此代码并查看它的运行情况,首先是存储库:https://github.com/camerow/react-voteit我有一个看起来像这样的子组件:varFeedItem=React.createClass({vote:function(newCount){console.log("Votingon:",this.pr

javascript - Warning : flattenChildren(. ..): Encountered two children with the same key/Child keys must be unique

昨天我将react-router-dom添加到我的项目中,现在当我离开并返回导航中的Sky元素时,它会重新加载天空,我得到Warning:flattenChildren(...):Encounteredtwochildrenwiththesamekey,element-id-50.Childkeysmustbeunique;whentwochildrenshareakey,onlythefirstchildwillbeused.(上面使用的数字50只是一个例子,它每次都会抛出这个错误~40次,所有的id都不同)问题似乎出在我的sky.js文件中:componentWillMount()

javascript - 是否可以重命名 Firebase 实时数据库中的 key ?

我想知道,有没有办法更新键值?让我们使用以下数据:我正在使用set()来写入数据。现在,我希望用户编辑他们的bookTitle并且需要在两个地方进行更改。我尝试使用update()但我似乎无法让它工作。我只能编辑bookInfo中的bookTitle,不能编辑books。移动不是一个选项,因为它会删除bookData。我也尝试使用push()编写,但后来,我无法正确搜索,因为我没有pushID(我需要搜索,因为用户不能拥有两本同名的书)那么,有没有办法更新键值呢?或者,有更好的方法吗?我接受建议。谢谢!更新:这是我目前用来更新bookInfo中书名的内容varbookName=docu

javascript - 使用 Javascript 检查 JSON 对象是否包含值

这个问题在这里已经有了答案:HowcanIaccessandprocessnestedobjects,arrays,orJSON?(31个答案)关闭6年前。我想检查像下面这样的JSON对象中的某个键是否包含某个值。假设我想检查任何对象中的键“name”是否具有值“Blofeld”(为真)。我该怎么做?[{"id":19,"cost":400,"name":"Arkansas","height":198,"weight":35},{"id":21,"cost":250,"name":"Blofeld","height":216,"weight":54},{"id":38,"cost":4

javascript - (_.merge in ES6/ES7)Object.assign without overriding undefined values

有_.mergelodash中的功能。我想在ES6或ES7中实现同样的事情。有这个片段:Object.assign({},{key:2},{key:undefined})我想接收{key:2}。目前我收到{key:undefined}这不是深度合并。这可能吗?如果是,那么如何实现? 最佳答案 您无法通过直接使用Object.assign来实现这一点,因为每个下一个对象都会为上一个合并重写相同的键。唯一的方法是使用一些手工制作的函数来过滤传入的对象。functionfilterObject(obj){constret={};Objec

Javascript:在自己的键函数中引用对象文字而不是 'this'

在函数中引用对象字面量是否有问题?它似乎工作得很好,但我想确保没有其他影响。这是我正在谈论的例子:代替:varobj={key1:"it",key2:function(){returnthis.key1+"works!"}};alert(obj.key2());使用:varobj={key1:"it",key2:function(){returnobj.key1+"works!"}};alert(obj.key2()); 最佳答案 两者都可能有问题。varobj={key1:"it",key2:function(){returnth

javascript - 将对象添加到 Firebase 时设置自己的 key - AngularFire

我可以使用以下方法将对象添加到我的Firebase数据存储区:varuniqueId={name:"aname",location:"newyork"}$scope.myItems.$add(uniqueId).then(function(firebaseId){//dosomethingonsuccess},function(){//dosomethingifcallfails});上面的代码会将一个对象添加到我的数据存储中,如果添加成功,将返回一个由Firebase生成的ID。我刚刚添加的对象保存在这个键下。有没有办法让我在添加到我的数据存储时指定键名是什么?

javascript - 如何在不知道 key 的情况下访问 javascript 对象值

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:HowdoIenumeratethepropertiesofajavascriptobject?如果我有这样一个javascript对象:data={a:2,b:3}但是a和b是任意的并且在运行时决定。有没有办法通过对象并在不知道key的情况下访问所有属性?