Tag: 对象

对象在使用原型时没有方法

我是一种noobie在JavaScript中,当我尝试使用原型来扩展我的对象,我得到以下错误代码: Object function ProcessManager() {…} has no method 'startBrowsing' 这是我的代码。 我在nodejs中执行这个代码。 代码 function ProcessManager(){ this.browser = new Browser(); this.salePagesToVisit = []; this.salePagesCurrent = []; this.salePagesDone = []; this.categoryPagesToVisit = []; this.categoryPagesCurrent = []; this.categoryPagesDone = []; this.listPagesToVisit = []; this.listPagesCurrent = []; this.listPagesDone = []; } ProcessManager.prototype.startBrowsing = function () { winston.log('verbose', 'Starting scrapping Bazarchic'); […]

如果一个对象中存在一个值的Javascript?

我得到了一个对象: var car = { company: "Honda", year: "2011", Model: "Brio" } 我想知道是否存在一个inheritance的方法(是否正确的短语?)来检查一个给定的对象内是否存在一个值,有点像x.hasOwnProperty ,或者if (x in car) 。 或者,我应该写我自己的。 我做了几个谷歌search,但他们都导致hasOwnProperty或检查数组中是否存在一个值。 编辑讨好所有的人在评论:有两个用例,我可以想到这将是有用的: 检查未定义的键和报告哪一个 if (!car.isInvalid(car, undefined)) validCarsArray.push (car); 检查对象中是否存在一般用户input var text = searchBox.input; validCarArrays.forEach (function (car) { if (car.hasOwnValue(car, text)) { displayToUserAsResult (car); } });

v8 c ++ – 如何获取作为参数提供的对象键值

我将js对象传递给我的函数 myFunc.do({'1':2}); 我想std::cout从我的对象在c + +中的键值对 这是我的 Handle<Object> object = Handle<Object>::Cast(args[i]); Local<Array> objArray = object->GetPropertyNames(); for(uint o=0; o < objArray->Length(); o++) { Local<Value> val = objArray->Get(o); v8::String::Utf8Value str(val->ToString()); std::string foo = std::string(*str); std::cout << "val is= " << foo; } return; 我做错了object->GetPropertyNames(); ,因为它没有得到我传递的值 更新这里是另一个无用的尝试 Local<Context> context = isolate->GetCurrentContext(); Local<Object> object = Local<Object>::Cast(args[i]); Local<Array> props; if (!object->GetOwnPropertyNames(context).ToLocal(&props)) […]

如何将嵌套对象转换为数组数组

嗨,我有一个情况下,我想将array of object array of array转换为array of array 这里是我的目标 array ,看起来像这样 (32) [Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object]0: Object1: Object2: Object3: Object4: Object5: Object6: Object7: Object8: Object9: Object10: Object11: […]

如何访问此对象的属性?

我在node.js和socket.io工作,基本上我听一个套接字disconnect事件,并调用一个方法。 app.update() socket.on('disconnect', function (data) { app.update(); }); // This is in another file, and the id is static, but I am more concered with the // messages object that is passed through. update: function() { models.Message.find({_id: "532c8d9ce889ed4c21538630"}, function(err, messages) { console.log(messages) }); } 这是messages对象的样子 [ { username: 'Marcus', connected: true, _id: 532c8d9ce889ed4c21538630, __v: 0 […]

试图了解nodeJS和javascript对象

我试图写一个对象的快速示例,以及该对象的一些原型,并且从代码中获得了一些意想不到的结果。 我正在处理两个文件,index.js和cards.js。基本的想法是实例化一个名为“deck”的新对象,然后调用该对象上的某些方法。 这是我的代码 cards.js //constructor function cardsClass() { this.cards = [ { suit: 'heart', number: 1, name: 'ace' }, { suit: 'heart', number: 10, name: 10 }, { suit: 'heart', number: 11, name: 'jack' }, { suit: 'heart', number: 12, name: 'queen' }, { suit: 'heart', number: 13, name: 'king' } ]; } //class method […]

将javascript对象分配给新对象作为副本

我有这个在obj.arr对象的数组。 我把它分配给一个新的对象。 var obj_arr_new = obj.arr; 问题是当我修改obj_arr_new , obj.arr被修改了。 我不要那个。 我怎样才能使obj_arr_new成为obj_arr_new的副本,当我修改obj_arr_new , obj.arr是不变的? 我正在使用node.js v6。 我打开使用任何node.js模块。 有人告诉我lodash可以做这个工作。 使用lodash的答案是有帮助的。

JavaScript创build像这样的数据结构的对象

如果可能,我想创build一个具有类似数据结构的对象。 我必须为每个玩家创build一个新的对象吗? 有人能告诉我怎么样? players players.name='John' players.John.age='12' players.John.adress='London ..' players.John.telnumber='09876587655' EDIT1 对不起,我知道这是基本的。 我只是问一个更多的问题,他们会尝试学习更好的JavaScript。 我需要将“事件”中存储的数据传递给对象。“event”.id(像players.John.id代替players.event.id)对不起,我的英语不好。 // in app.js var fs = require('fs'); var socketio = require('socket.io'); Tail = require('tail').Tail; var express = require('express'); var http = require('http'); var colors = require('colors'); var app = express() , server = require('http').createServer(app) , io = socketio.listen(server); // socket needs to […]

在节点JS中使用传统的JavaScript对象

我正在努力做一个NODE JS项目,并且学习Node JS结构的入口和出口。 我已经看遍了互联网,找出如何做到这一点,没有或几乎没有运气。 问题如下: 我有一个叫做player的类,它是在一个名为player.js的文件中创build的 var playa = function () { this.createPlayer = function(){ } } 在我的index.js文件中,我链接了我的播放器 var playa = require("./player.js"); 但是,当我试图引用我的球员 io.on('connection', function(socket){ var player = new playa(); player.createPlayer(); }); 控制台告诉我,playa不是一个function,服务器停止。 我甚至允许在节点中使用传统的OOP JS? 如果我将这个类移动到index.js文件中,它会非常出色,但是由于类很大,所以它会变得不稳定,我打算至less使用5个类。 2.如果可能的话,也可以这样构build我的对象,那么我如何链接它们/正确引用它们? 如果既不可能也不可能,那么构build我的对象的正确方法是什么? 我希望不要脱离现在的惯例,因为这是我习惯的,我需要创build多个球员的实例。

JS – 如何将子对象添加到对象中

例如, 这是我的对象创作 var myObj = {}; 如果我想增加价值在我的对象,我正在这样做。 myObj.name = 'User1'; myObj.role = 'CEO'; 这可以。 对于我的node.js项目场景,我需要将level.typestring对象传入myObj 。 在这样的情况下, myObj.level.type = 'Level 1'; 如何将level.type命名对象值添加到myObj ? 我不认为这可能会让你困惑。 我需要像这样的对象值, { "name": "User1", "role": "CEO", "level.type": "Level 1" }