相关疑难解决方法(0)

如何获取JavaScript哈希表计数?

可能重复:
Javascript关联数组的长度

hash_table = {a: 131, b: 222, c:313}
Run Code Online (Sandbox Code Playgroud)

长度方法当然不起作用,因为它会与密钥混淆.

那我该怎么做?

javascript hashtable

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

Javascript:检查对象是否没有属性,或者map/associative-array是否为空

可能重复:
如何从JSON测试空Javascript对象?

在Javascript中是否有一种简单的方法来检查对象是否没有属性?或者换句话说,检查地图/关联数组是否为空的简单方法?例如,假设您有以下内容:

var nothingHere = {};
var somethingHere = {foo: "bar"};
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法来判断哪一个是"空的"?我唯一能想到的是这样的事情:

function isEmpty(map) {
   var empty = true;

   for(var key in map) {
      empty = false;
      break;
   }

   return empty;
}
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法(像本地财产/功能或其他东西)?

javascript associative-array map is-empty object-property

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

打字稿中的对象长度?

是什么方法在打字稿中我可以得到一个对象的长度:

像这样的东西:

说我有一个对象:

public customer:any={
     "name":"Bhushan",
     "eid":"879546",
     "dept":"IT"
}
Run Code Online (Sandbox Code Playgroud)

现在我试图在打字稿中获得它的长度.

即.当我这样做时customer.length(),我应该能够获得值3,因为它有3个元素.

我试过Object.getOwnPropertyNames(customer.value)但它返回2而我的对象中有3个元素.

任何输入?

javascript typescript angular

30
推荐指数
2
解决办法
5万
查看次数

查找对象中的键数

可能重复:
如何有效地计算JavaScript中对象的键/属性数?

var values = [{
    'SPO2': 222.00000,
    'VitalGroupID': 1152,
    'Temperature': 36.6666666666667,
    'DateTimeTaken': '/Date(1301494335000-0400)/',
    'UserID': 1,
    'Height': 182.88,
    'UserName': null,
    'BloodPressureDiastolic': 80,
    'Weight': 100909.090909091,
    'TemperatureMethod': 'Oral',
    'Resprate': null,
    'HeartRate': 111,
    'BloodPressurePosition': 'Standing',
    'VitalSite': 'Popliteal',
    'VitalID': 1135,
    'Laterality': 'Right',
    'HeartRateRegularity': 'Regular',
    'HeadCircumference': '',
    'BloodPressureSystolic': 120,
    'CuffSize': 'XL'
}];

for (i=0; i < values.length; i++) {
        alert(values.length) // gives me 2. 
Run Code Online (Sandbox Code Playgroud)

怎么能找到我的对象有多少个键?

javascript

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

如何在Firebase中获取元素/列表的大小而不是全部?

我需要在Firebase中测量元素或列表的大小/长度,但我不需要真正的内容.

就像是 firebase.database().ref("users/").once("length" || "size").then(callback)

ps Javascript SDK

javascript firebase firebase-realtime-database

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

Object.prototype是Verboten?

概括:

好吧,自从我问这个问题以来已经有一段时间了.像往常一样,Object.prototype无论如何,尽管在网上和网上的其他地方都有反对它的所有有效论据,我还是进行了扩充.我想我就是那种顽固的混蛋.

我试图找出一种结论性的方法来防止新方法破坏任何预期的行为,这被证明是一个非常艰难但信息丰富的事情.
我学到了很多关于JavaScript的东西.至少我不会像在使用本机原型一样轻率地尝试任何东西(除了String.prototype.trimIE <9).

在这种特殊情况下,我不使用任何库,因此冲突不是我主要关注的问题.但是在使用本机原型时,我已经深入研究了可能的不幸事件,我不太可能将这个代码与任何lib结合使用.

通过研究这种原型方法,我对模型本身有了更好的理解.我将原型作为一种灵活的传统抽象类处理,使我坚持传统的OOP思维.这个观点并没有真正做到原型模型的正义.道格拉斯·克罗克福德(Douglas Crockford)写到了这个陷阱,遗憾的是,粉红色的背景使我无法阅读完整的文章.

我决定更新这个问题,因为读这篇文章的人很想看到自己.我只能这样说:一定要做到.我希望你能像我一样学习一些巧妙的东西,然后再决定放弃这个相当愚蠢的想法.一个简单的函数可能也可以正常工作,甚至更好,尤其是在这种情况下.毕竟,真正的美妙之处在于,通过添加3行代码,您可以使用相同的功能来增强特定对象的原型.


我知道我将问一个已存在很长一段时间的问题,但是:为什么Object.prototype被认为是不受限制的?就在那里,它可以像任何其他原型一样进行扩充.那么,为什么你不应该利用这一点.在我看来,只要你知道你在做什么,就没有理由避开Object原型.
以此方法为例:

if (!Object.prototype.getProperties)
{
    Object.prototype.getProperties = function(f)
    {
        "use strict";
        var i,ret;
        f = f || false;
        ret = [];
        for (i in this)
        {
            if (this.hasOwnProperty(i))
            {
                if (f === false && typeof this[i] === 'function')
                {
                    continue;
                }
                ret.push(i);
            }
        }
        return ret;
    };
}
Run Code Online (Sandbox Code Playgroud)

基本上,它是一个相同的旧for...in循环,你要么在一个函数中保持安全,要么一遍又一遍地写.我知道它会被添加到所有对象中,因为几乎JavaScript中的每个继承链都可以追溯到Object.prototype,但在我的脚本中,我认为它是两个邪恶中的较小者.

也许,有人会在告诉我,我是错的比做得更好这第一章,等等.
在寻找人们没有触及Object原型的原因的同时,有一件事情不断出现:它打破了for..in循环,但又一次:许多框架也做了,更不用说你自己的继承链了.因此 …

javascript prototype

20
推荐指数
1
解决办法
4169
查看次数

用JSON计算键/值

可能重复:
Javascript关联数组的长度

我有一个看起来像这样的JSON:

Object:
   www.website1.com : "dogs"
   www.website2.com : "cats"
   >__proto__ : Object
Run Code Online (Sandbox Code Playgroud)

当我这样做时打印:

console.log(obj);
Run Code Online (Sandbox Code Playgroud)

我试图得到这个JSON中的项目的计数,obj.length返回"undefined"和obj [0] .length返回

未捕获的TypeError:无法读取未定义的属性"长度"

在这种情况下,我希望长度返回"2".我怎样才能找到计数?

谢谢!

javascript json

15
推荐指数
2
解决办法
5万
查看次数

在javascript中未定义Object.length

我有一个像数组的javascript对象,

var coordinates = {
     "a": [
         [1, 2],
         [8, 9],
         [3, 5],
         [6, 1]
     ],

         "b": [
         [5, 8],
         [2, 4],
         [6, 8],
         [1, 9]
     ]
 };
Run Code Online (Sandbox Code Playgroud)

coordinates.length返回undefined. 小提琴就在这里.

javascript arrays object

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

如何计算JavaScript数组对象?

当我有这样的JavaScript数组时:

var member = {
    "mother": {
        "name" : "Mary",
        "age" : "48"
    },
    "father": {
        "name" : "Bill",
        "age" : "50"
    },
    "brother": {
        "name" : "Alex",
        "age" : "28"
    }
}
Run Code Online (Sandbox Code Playgroud)

如何计算这个数组中的对象?!
我的意思是如何得到一个计数结果3,因为里面只有3个物体:母亲,父亲,兄弟?!

如果它不是数组,那么如何将其转换为JSON数组?

javascript oop object

12
推荐指数
5
解决办法
7万
查看次数

使用Javascript检查多维数组的长度

可能重复:
Javascript关联数组的长度

我想检查一个多维数组的长度,但我得到"未定义"作为返回.我假设我的代码出错了,但我看不出有什么奇怪的.

alert(patientsData.length); //undefined
alert(patientsData["XXXXX"].length); //undefined
alert(patientsData["XXXXX"]['firstName']); //a name

fruits = ["Banana", "Orange", "Apple", "Mango"];
alert(fruits.length); //4
Run Code Online (Sandbox Code Playgroud)

思考?这可能与范围有关吗?声明数组并在函数外部设置.这可能与JSON有关吗?我从eval()语句创建了数组.为什么虚拟阵列工作得很好?

javascript arrays multidimensional-array

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