相关疑难解决方法(0)

Javascript - 检查密钥是否存在 - 如果不创建密钥,则全部在一行中

我正在寻找一种检查密钥是否存在以及是否不创建密钥的单行方式.

var myObject = {};

//Anyway to do the following in a simpler fashion?

if (!('myKey' in myObject))
{
    myObject['myKey'] = {};
}
Run Code Online (Sandbox Code Playgroud)

javascript

21
推荐指数
4
解决办法
1万
查看次数

如何引用json字段

让我们假设我有json变量:

var obj = {"A":"a", "B":"b", "x":"y", "a":"b"}
Run Code Online (Sandbox Code Playgroud)

当我想引用A时,我只想写json.A

当我在变量中键入时如何做到,即:

var key = "A";
Run Code Online (Sandbox Code Playgroud)

是否有任何函数返回value或null(如果key不在json中)?

javascript

17
推荐指数
1
解决办法
5万
查看次数

在javascript或jquery中有PHP array_key_exists的等价物

可能重复:
检查Javascript中是否存在关联数组键

我有一个PHP代码块.出于某种目的,我将其转换为JavaScript块.

我有PHP

if(array_key_exists($val['preferenceIDTmp'], $selected_pref_array[1]))
Run Code Online (Sandbox Code Playgroud)

现在我想在jQuery中这样做.有没有内置功能来做到这一点?

javascript php jquery

17
推荐指数
2
解决办法
1万
查看次数

检查数组中是否存在对象键

我正在尝试从现有对象中获取一些数据并将其分组为新对象.我遇到的问题是检查对象密钥是否存在,以便我可以创建一个新的,或将数据附加到现有的.

我发现了一些类似的问题,但没有一个答案有效,所以我有点卡住了.它总是最终发现它不存在并创建重复键.

我有以下代码,xxx我需要在哪里检查密钥是否存在:

var groups = [];    

for (var i=0; i<something.length; i++) {

    var group_key = 'group_'+something[i].group_id;

    if (xxx) {

        // New group

        var group_details = {};

        group_details[group_key] = {
                group_name: something[i].group_name,
                items:  [
                    { 'name': something[i].name }
                ]
        };
        groups.push(group_details);

    } else {

        // Existing group

        groups[group_key].items.push({
            'name': something[i].name
        });

    }

}
Run Code Online (Sandbox Code Playgroud)

something我传递的,是非常简单的,基本的形式:

[
    {
        group_id: 3,
        group_name: 'Group 3',
        name: 'Cat'
    },
    {
        group_id: 3,
        group_name: 'Group 3',
        name: 'Horse'
    },
    {
        group_id: 5, …
Run Code Online (Sandbox Code Playgroud)

javascript json object

16
推荐指数
1
解决办法
8万
查看次数

如何检查我的密钥是否存在于数组对象中

var arr = [{
   key: "key1", value: "z"
}, {
   key: "key2", value: "u"
}, {
   ...
}];
Run Code Online (Sandbox Code Playgroud)

如何检查我的key:"key1"存在是否已存在.如果它不存在,我需要在ma数组中添加密钥.

if(arr.hasOwnProperty("key1")){
      arr.unshift({key:"key1", value:"z"});
}
Run Code Online (Sandbox Code Playgroud)

javascript

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

快速查找字符串是否在数组中的方法

在Ruby中,查明字符串是否在数组(.include? x)中是非常慢的.如果将该数组更改为集合,则BAM可以快速查找.

在JavaScript中,没有集合,数组lookups(.indexOf(x) >= 0)也慢,但我需要在脚本中执行10,000次这些查找.

我的Ruby版本(有套装)在0.125几秒钟内运行,我的JavaScript版本(在NodeJS中)需要29!

是否有任何设置库或更好的方法来执行可以在Ruby附近获得Javascript速度的数组查找?

编辑:将"对象"更改为"字符串"以清除任何混淆

javascript arrays set

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

Javascript中的Java面向对象概念

我已经使用Java很长一段时间了,很长一段时间我一直在使用GWT(Google Web Toolkit)进行Web开发.它的美妙之处在于我拥有了面向Java对象的构造,并且不会担心它如何被转换为GWT - 让Google来处理它.我对Javascript的了解已经足够,但并不是因为我可以用它进行大量的Web开发.后来我决定我必须对Javascript有更深入和更彻底的了解,这是一个真正的过山车 - 只是在我认为我得到了一些东西,有些东西来证明我错了 - 我只是被误解了.

有什么比stackoverflow更能表达我的关注的地方:我正在寻找一些资源和指向什么是Javascript等同于以下一些Java概念:

Class
instance of a class - object
Member variables
Getters
Setters
Abstract Class
Interface
Inheritance
Access Modifiers
Constructors
Run Code Online (Sandbox Code Playgroud)

我知道其中一些概念,但正如我所说 - 我相信我有一些概念上的困难.如果有人可以指出一个真正的javascript大师试图在这里查明这些概念,我将非常高兴.

javascript java gwt

9
推荐指数
3
解决办法
1925
查看次数

JavaScript中的Python KeyError异常的等价物?

我试图访问JavaScript对象中的某个成员.为了做到这一点,我需要尝试几个关键值.

例如,Object['text/html']它将为我提供HTML文档的导出链接.但是,并非此类型的每个对象都具有text/html密钥对值.

在Python中,我将使用Try-Catch块解决此问题,但有KeyError例外.如果我可以在javascript中执行类似的操作,就像在Try-Catch块中使用异常一样,这将是很棒的.

但是,如果存在替代品而不是try catch块,那么确实达到了相同的最终目标,我也想了解它们.

编辑:

我宁愿使用异常而不是使用函数.我这样做是因为text/html密钥可能不存在,但应该存在.一个例外似乎更适合这种情况

javascript python

8
推荐指数
1
解决办法
2335
查看次数

如何检查对象数组中是否存在键

我试图找出给定的键是否存在于对象数组中。如果值键存在,那么我想返回 true 否则返回 false。

我从文本框中输入键,然后检查键是否存在于对象数组中,但我无法得到它。

这是我尝试过的

代码:

var obj = [{
    "7364234":"hsjd",
    "tom and jerry":"dsjdas",
    "mickey mouse":"kfjskdsad",
    "popeye the sailor man":"alkdsajd",
    "the carribean":"kasjdsjad"
}]

var val = $("input[name='type_ahead_input']").val();

if (obj[val]) {
    console.log('exists');
} else {
    console.log('does not exist');
}
Run Code Online (Sandbox Code Playgroud)

如果我将输入作为the carribean对象数组中存在的' '给出,即使它在控制台中的输出也不存在。

我该如何解决这个问题?

javascript arrays

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

检测对象是否在JavaScript中有子项

在JavaScript中,您可以像这样获取XML节点的子节点......

var children = xml.childeNodes;
Run Code Online (Sandbox Code Playgroud)

我如何得到一个物体的孩子?

var obj = {
  prop1: 'stuff',
  prop2: 'things',
  prop3: 'stuff-n-things'
}
Run Code Online (Sandbox Code Playgroud)

第二轮

鉴于这样的对象..

var Obj = {
  levelOneProp1: 'stuff',
  levelOneProp2: 'things',
  levelOneProp3: {
     levelTwoProp1: 'moreStuff',
     levelTwoProp2: 'morethings',
     levelTwoProp3: 'morestuff-n-things'
  } 
}
Run Code Online (Sandbox Code Playgroud)

我想知道哪些属性Obj有子,所以我可以以递归的方式循环它们.目标是能够提供一个(理论上)无限数量的孩子的数据集,并将他们的值应用于输入元素......这是我到目前为止所拥有的.

function applyData( dataSet ){
    var hasChildren = false;

    for(var i = 0; i < dataSet.childNodeArrayGoesHere.length; i++){
        if(dataSet.detectChildNodesHere){
            hasChildren = true;
        }
    }

    if(hasChildren){
        for(var j = 0; j < dataSet.childNodeArrayGoesHere.length; i++){
            applyData(dataSet[j]);
        }
    } else {
        //apply the key/value pair …
Run Code Online (Sandbox Code Playgroud)

javascript parsing json

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

标签 统计

javascript ×10

arrays ×2

json ×2

gwt ×1

java ×1

jquery ×1

object ×1

parsing ×1

php ×1

python ×1

set ×1