相关疑难解决方法(0)

如何循环或枚举JavaScript对象?

我有一个像以下JavaScript对象:

var p = {
    "p1": "value1",
    "p2": "value2",
    "p3": "value3"
};
Run Code Online (Sandbox Code Playgroud)

现在我想通过所有回路p元素(p1,p2,p3...),并得到他们的键和值.我怎样才能做到这一点?

如有必要,我可以修改JavaScript对象.我的最终目标是遍历一些键值对,如果可能的话,我想避免使用eval.

javascript each loops

2704
推荐指数
38
解决办法
180万
查看次数

如何迭代JavaScript对象?

我在JavaScript中有一个对象:

{
    abc: '...',
    bca: '...',
    zzz: '...',
    xxx: '...',
    ccc: '...',
    // ...
}
Run Code Online (Sandbox Code Playgroud)

我想使用for循环来获取其属性.我想在部分中迭代它(不是一次所有的对象属性).

使用简单的数组我可以使用标准for循环:

for (i = 0; i < 100; i++) { ... } // first part
for (i = 100; i < 300; i++) { ... } // second
for (i = 300; i < arr.length; i++) { ... } // last
Run Code Online (Sandbox Code Playgroud)

但是如何用物体做呢?

javascript iteration loops object javascript-objects

361
推荐指数
7
解决办法
40万
查看次数

从Javascript中的Object中删除空白属性

如何删除这些都是属性undefinednull在JavaScript对象?

(问题类似于这个阵列)

javascript

208
推荐指数
20
解决办法
17万
查看次数

每个对象?

可能重复:
迭代对象文字值

我在JavaScript中有对象:

var object = someobject;

Object { aaa=true, bbb=true, ccc=true }
Run Code Online (Sandbox Code Playgroud)

我怎么能用它呢?

 object.each(function(index, value)) {
      console.log(value);
 }
Run Code Online (Sandbox Code Playgroud)

不工作.

javascript jquery

120
推荐指数
2
解决办法
40万
查看次数

使用Prototype在javascript中迭代对象的每个属性?

有没有办法使用Prototype JavaScript框架迭代对象的每个属性?

情况就是这样:我在JSON中得到一个AJAX响应,如下所示:

{foo: 1, bar: 2, barobj: {75: true, 76: false, 85: true}}
Run Code Online (Sandbox Code Playgroud)

如果我将json响应评估为变量response,我希望能够遍历response.barobj对象中的每个属性,以查看哪些索引为true,哪些为false.

原型有两种Object.keys(),Object.values()但奇怪似乎没有一个简单的Object.each()功能!当我迭代一个时,我可以获取Object.keys()和Object.values()的结果并交叉引用另一个,但这是一个黑客,我相信有一个正确的方法来做到这一点!

javascript prototypejs

89
推荐指数
2
解决办法
10万
查看次数

如何在React中循环一个对象?

新的React并试图循环Object属性但React抱怨对象无效React儿童,有人可以给我一些关于如何解决这个问题的建议吗?我添加了createFragment,但不完全确定这需要去哪里或我应采取什么方法?

JS

var tifs = {1: 'Joe', 2: 'Jane'};
var tifOptions = Object.keys(tifs).forEach(function(key) {
    return <option value={key}>{tifs[key]}</option>
});
Run Code Online (Sandbox Code Playgroud)

渲染功能

render() {
        const model = this.props.model;

        let tifOptions = {};

        if(model.get('tifs')) {
            tifOptions = Object.keys(this.props.model.get('tifs')).forEach(function(key) {
                return <option value={key}>{this.props.model.get('tifs')[key]}</option>
            });
        }

        return (
            <div class={cellClasses}>

                    <div class="grid__col-5 text--center grid__col--bleed">
                        <h5 class="flush text--uppercase">TIF</h5>
                        <select id="tif" name="tif" onChange={this.handleChange}>
                            {tifOptions}
                        </select>
                    </div>

            </div>
        );
    }
Run Code Online (Sandbox Code Playgroud)

控制台出错

If you meant to render a collection of children, use an array instead or wrap the object using …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

46
推荐指数
5
解决办法
10万
查看次数

JSlint:意外'换'

我一直在测试单选按钮.一切似乎没问题,直到我通过JS lint运行它.我修复了除一个之外的所有错误

出乎意料的'为'

for (i = 0; i < radios.length; i += 1) {
Run Code Online (Sandbox Code Playgroud)

这是我的Javascript:

/*global body,window,document,alert*/
(function () {
"use strict";

var UIlogic;

UIlogic = {
    myLoad: function () {
        var elems, elemText, btn1, winter, summer, fall, spring, header, btns;

        winter = "<div><input type='radio' name='cb' id='cbA' value='0'/><label for='cbA'>Winter</label></div>";
        summer = "<div><input type='radio' name='cb' id='cbB' value='1'/><label for='cbB'>Summer</label></div>";
        fall = "<div><input type='radio' name='cb' id='cbC' value='2'/><label for='cbC'>Fall</label></div>";
        spring = "<div><input type='radio' name='cb' id='cbD' value='3'/><label for='cbD'>Spring</label></div>";

        header = "Header";

        btns = "<br /><button …
Run Code Online (Sandbox Code Playgroud)

javascript jslint

43
推荐指数
2
解决办法
3万
查看次数

如何将关联数组连接到字符串中

我现在正试图这样做,我想知道是否有一个"最常用"的方法将一个关联数组(它的值)连接成一个由字符分隔的字符串.

例如,我有

var AssocArray = { id:0, status:false, text:'apple' };
Run Code Online (Sandbox Code Playgroud)

连接此对象的元素所产生的字符串将是

"0, false, 'apple'" or "0, 0, 'apple'"
Run Code Online (Sandbox Code Playgroud)

如果我们用","字符加入他们任何想法?谢谢!

javascript string associative-array join

14
推荐指数
3
解决办法
2万
查看次数

什么是_.pluck的等效对象

我已经重新实现了我自己需要的版本,但我怀疑它已经包含在下划线中,因为它非常简单并且与许多其他函数密切相关.但我想不出应该叫什么.

基本上,我想要的是_.pluck的一个版本,它使用对象并返回一个对象而不是一个数组(及其相关的键).

所以,例如,如果我有一个像这样的对象:

elements: {
    steam: {
        temperature: 100,
        color: 'orange',
        state: 'gas'
    },
    water: {
        temperature: 50,
        color: 'blue',
        state: 'liquid'
    },
    ice: {
        temperature: 0,
        color: 'white',
        state: 'solid'
    }
}
Run Code Online (Sandbox Code Playgroud)

我想打个电话 _.something(elements, 'temperature')

让它回归

{
    steam: 100,
    water: 50,
    ice: 0
}
Run Code Online (Sandbox Code Playgroud)

而不是_.pluck(elements, 'temperature')返回

[100, 50, 0]
Run Code Online (Sandbox Code Playgroud)

这个转变叫做什么,它是否已经包含在下划线中?我自己用jQuery的每个循环编写了一个快速版本,因为我比jQuery更熟悉jQuery而不是下划线(如下所示),但如果可能的话,我更喜欢使用库中的一个.

$.objPluck = function(obj, key) {
    var ret = {};
    $.each(obj, function(k, value) {
        ret[k] = value[key];
    });
    return ret;
}
Run Code Online (Sandbox Code Playgroud)

javascript transformation object underscore.js

8
推荐指数
2
解决办法
3万
查看次数

JSON.stringify 替换器 - 如何获取完整路径

下面代码中的替换器在控制台上写入当前处理的字段名称

let a = { a1: 1, a2:1 }
let b = { b1: 2, b2: [1,a] }
let c = { c1: 3, c2: b }


let s = JSON.stringify(c, function (field,value) {
  console.log(field); // full path... ???
  return value;
});
Run Code Online (Sandbox Code Playgroud)

但是我想在替换函数中获得字段的完整“路径”(不仅仅是它的名称) - 像这样


c1
c2
c2.b1
c2.b2
c2.b2[0]
c2.b2[1]
c2.b2[1].a1
c2.b2[1].a2
Run Code Online (Sandbox Code Playgroud)

怎么做?

javascript json

7
推荐指数
1
解决办法
3177
查看次数