Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Javascript中返回对象_Javascript_Jquery - Fatal编程技术网

在Javascript中返回对象

在Javascript中返回对象,javascript,jquery,Javascript,Jquery,我有以下变量: var tags = [{name:'Bold', key:'b'}, { name: 'Italic', key:'i'}] 然后,为了获得我正在处理的正确标记,我构建了一个函数: function getCurrentTag(tagType) { $.each(tags, function() { if (tagType==this.name) { return this; } }); } 在主要范围

我有以下变量:

var tags = [{name:'Bold', key:'b'}, { name: 'Italic', key:'i'}]
然后,为了获得我正在处理的正确标记,我构建了一个函数:

function getCurrentTag(tagType) {
    $.each(tags, function() {
        if (tagType==this.name) {
            return this;
        }
    });
}
在主要范围内,我称之为:

currentTag = getCurrentTag('Bold');
但是currentTag总是“未定义”

我怎样才能解决这个问题


Gidi

您永远不会返回
$的结果。each()

函数getCurrentTag(tagType){
for(var i=0,len=tags.length;i
使用jQuerys
.each()
for..in
循环在数组上循环是不必要的(速度慢)。
由于
$.each()
对每个交互应用回调函数,因此您将该值返回给该匿名函数。使用本机javascript函数从
getCurrentTag()
返回。这里不需要使用jQuery

var tags = [{name:'Bold', key:'b'}, { name: 'Italic', key:'i'}],
    getCurrentTag = function (tags, name) {
        var i = 0;
        for (i = 0; i < tags.length; += 1) {
            if (tags[i].name === name) {
                return tags[i];
            }
        }
        return False;
    }


 getCurrentTag(tags, 'Bold');
var tags=[{name:'Bold',key:'b'},{name:'Italic',key:'i'}],
getCurrentTag=函数(标记、名称){
var i=0;
对于(i=0;i
为什么要使用数组?如果有一个简单的名-值对对象,它会更干净

var tags = {'Bold':'b','Italic':'i'};
function getCurrentTag(tagType) {
    return tags[tagType] || null;
}

所有这些循环都会很慢:

这就是为什么“使用jquery”并不是它所宣称的万能药。Javascript有时完全独立工作。jQuery是一个库,而不是一种完整的语言。此外,还需要对$的输出进行进一步处理。每个函数都是必需的。詹迪的方式应该足够了
var tags = {'Bold':'b','Italic':'i'};
function getCurrentTag(tagType) {
    return tags[tagType] || null;
}