小编Ale*_*ler的帖子

检测值是否在Javascript中的一组值中的最快方法

我在Javascript中有一组字符串,我需要编写一个函数来检测另一个特定字符串是否属于该组.

实现这一目标的最快方法是什么?是否可以将值组放入数组中,然后编写一个搜索数组的函数?

我想如果我保持值的排序并进行二分查找,它应该足够快.或者还有其他一些聪明的方法可以做到这一点,它可以更快地工作?

javascript search

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

HTML中的kbd,samp和代码有什么区别

我目前正在阅读w3schools的HTML教程(还没有CSS或JavaScript),我想知道为什么有这么多不同的标签看起来一样呢?

例如我看不出之间的任何(光学的)差kbd,samp并且code除了每个标签的"意义".

所以我的问题是:只是元信息不同这些标签?

html tags semantics

11
推荐指数
2
解决办法
3491
查看次数

如何正确扩展 ES6 Map

我有一个简单的案例:一个 ES6 Map,我需要向它添加 customget()set()

但是Map是一个内置对象,所以我不确定这样做是否会有任何警告。我试图搜索将 a 子类化是否正确Map,并得到了不一致的结果:尚不清楚规范是否允许它,哪些浏览器/node.js 版本支持它,以及可能产生哪些副作用(以及要涵盖的内容)带测试)。

据我了解,扩展Map功能主要有以下三种方法:

  1. 将其子类化。我已经完成了,它似乎有效。
class CustomMap extends Map{
    get(key){
        return super.get(key);
    }
    set(key, value){
        return super.set(key, value);
    }
}
Run Code Online (Sandbox Code Playgroud)

它的问题:Internet 上的很多文章都指出,扩展内置对象可能会遇到麻烦。大多数是 2016 年初,现在是 2017 年末,在 Chrome 61 中进行测试。也许现在这是一种安全且受支持的方法?

  1. 制作一个包装对象
const Wrapper = function(){
    this._map = new Map();
    this.get = (key) => {return this._map.get(key);}
    this.set = (key, value) => {this._map.set(key, value);}
    ... everything else
}
Run Code Online (Sandbox Code Playgroud)

最不优雅的解决方案,因为我不仅需要实现getand set,还需要实现所有 …

javascript dictionary ecmascript-6

10
推荐指数
1
解决办法
5393
查看次数

在Angularjs中使用jQuery tableSorter插件

我正在尝试使用与Angular一起工作的JQuery tablesorter插件.目前,如果单击任何列以对表格的整个宽度和结构进行排序,则会创建具有ng-repeat表达式的新行.

$(document).ready(function() {
    $("#check").tablesorter();
});
Run Code Online (Sandbox Code Playgroud)

 

<table id="check" class="table table-bordered table-striped table-condensed table-hover tablesorter" cellspacing="1">
    <thead>
        <tr>        
            <th class="header">Product Code#</th>
            <th class="header">Item Description#</th>
            <th class="header">Unit Cost#</th>
        </tr>
    </thead>
    <tbody>
        <tr ng:repeat="i in itemresponse" >
            <td><a href="#/ItemSearch/{{i._ItemID}}" >{{i._ItemID}}</a></td>
            <td>{{i.PrimaryInformation._ShortDescription}}</td>
            <td>{{i.PrimaryInformation._UnitCost}}</td>
        </tr>
    </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

tablesorter angularjs

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

IE11 JavaScript(错误:SCRIPT445)"对象不支持此操作"

我使用Javascript解决方案异步加载youtube播放器API.当滚动到其位置时,整个脚本应该播放视频.它适用于所有浏览器以及IE(11),但有时在IE中我在开发人员工具中遇到错误:SCRIPT445(对象不支持此操作).

Youtube播放器仍可正常工作,但它似乎会崩溃其他脚本.我环顾网络,也在Stackoverflow上.似乎有其他人有类似的问题,但他们太具体了.也许有人可以帮我这个.以下是产生问题的代码部分:

var yt_int, yt_players={},
    initYT = function() {
        $(".ytplayer").each(function() {
            yt_players[this.id] = new YT.Player(this.id);    <-- Error line 
        });
    };

$.getScript("//www.youtube.com/player_api", function() {
    yt_int = setInterval(function(){
        if(typeof YT === "object"){
            initYT();
            clearInterval(yt_int);
        }
    },500);
});
Run Code Online (Sandbox Code Playgroud)

javascript youtube internet-explorer-11

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

使用mongoose在mongodb模式中使用ensureIndex

我想打电话ensureIndexauthorName,命令是什么,我应该把这个代码放在哪里?

var mongoose = require('mongoose');

// defines the database schema for this object
var schema = mongoose.Schema({
    projectName : String,
    authorName : String,
    comment : [{
        id : String,                                    
        authorName : String,
        authorEmailAddress : { type : String, index : true }    
    }]
});

// Sets the schema for model
var ProjectModel = mongoose.model('Project', schema);

// Create a project
exports.create = function (projectJSON) {
    var project = new ProjectModel({
        projectName : projectJSON.projectName,
        authorName : projectJSON.authorName,    

        comment …
Run Code Online (Sandbox Code Playgroud)

javascript indexing mongoose mongodb

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

什么Express websocket事件存在?

我想知道什么是websocket事件到目前为止我只使用了这个ws.on('message')事件,但是我想使用在建立和关闭连接时触发的事件.我尝试添加ws.on('connection'),但没有被触发.

我的代码:

app.ws('/', function (ws, req) {
    ws.on('message', function (textChunk) {
            //do stuff
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

我需要一些客户端编程来执行此操作吗?

我尝试添加它,但是当我从客户端连接时它没有触发.

ws.on('request', function () {
  console.log("request");
});
Run Code Online (Sandbox Code Playgroud)

javascript websocket node.js express

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

JavaScript:如何从多维数组中获取值?

我正试图从多维数组中获取值.这就是我到目前为止所拥有的.
当我选择数组中的第一个选项时,我需要99的值和图像,例如"Billy Joel".

var concertArray = [
    ["Billy Joel", "99", "equal.png"],
    ["Bryan Adams", "89", "higher.png"],
    ["Brian Adams", "25", "lower.png"]
];

function populate(){
    for(i = 0; i < concertArray.length; i++){
        var select = document.getElementById("test");
        select.options[select.options.length] = new Option(concertArray[i][0], concertArray[i][1]);
    }
}
Run Code Online (Sandbox Code Playgroud)

javascript arrays multidimensional-array

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

使用promise设置变量以从回调函数返回

我得到"对象"值而不是确切的值.如何使用回调函数获取返回的值?

function loadDB(option, callBack){
    var dfd = new jQuery.Deferred(),
        db = window.openDatabase('mydb', '1.0', 'Test DB', 1024*1024),
        selectQuery = "SELECT log FROM LOGS WHERE id = ?";
    db.transaction(function(tx){
        tx.executeSql(selectQuery,[option],function(tx,results){
            var retval;
            if( results.rows.length ) {
                retval = unescape(results.rows.item(0)['log']);
            }
            var returnValue = dfd.resolve(retval);
        });
    });
    return dfd.promise();
}
results = loadDB(2).then(function(val){ return val; } );
console.log("response***",results);
Run Code Online (Sandbox Code Playgroud)

javascript callback promise

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

如何配置快速路由器和ES6?

我在快递中有一个路由器文件的以下代码.

import express from 'express';
import  _  from 'lodash';
import { Devices, OwlElecMonitors } from '../models/';

var router = express.Router();

router.get('/api/devices/:id',function (req, res) {
    console.log(req);                   
    Devices.getDevicesByUserId({ userId: req.params.id },function(err, resp) {
        res.send(resp);
    });
});

export default router;
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用以下代码将其导入主文件

import api from './routes';
app.use('/api', api);
Run Code Online (Sandbox Code Playgroud)

但代码返回404错误.我哪里错了?我需要做些什么改变呢?

routing node.js express ecmascript-6

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