相关疑难解决方法(0)

检查变量是否为函数类型

假设我有任何变量,定义如下:

var a = function() {/* Statements */};
Run Code Online (Sandbox Code Playgroud)

我想要一个函数来检查变量的类型是否像函数一样.即:

function foo(v) {if (v is function type?) {/* do something */}};
foo(a);
Run Code Online (Sandbox Code Playgroud)

如何以上面定义的方式检查变量a是否类型Function

javascript

826
推荐指数
14
解决办法
55万
查看次数

在Javascript中按名字(按字母顺序)对数组进行排序

我有一个数组(请参阅下面的数组中的一个对象),我需要使用JavaScript对firstname进行排序.我该怎么做?

var user = {
   bio: null,
   email:  "user@domain.com",
   firstname: "Anna",
   id: 318,
   lastAvatar: null,
   lastMessage: null,
   lastname: "Nickson",
   nickname: "anny"
};
Run Code Online (Sandbox Code Playgroud)

javascript

556
推荐指数
16
解决办法
53万
查看次数

使用字符串键访问嵌套的JavaScript对象

我有这样的数据结构:

var someObject = {
    'part1' : {
        'name': 'Part 1',
        'size': '20',
        'qty' : '50'
    },
    'part2' : {
        'name': 'Part 2',
        'size': '15',
        'qty' : '60'
    },
    'part3' : [
        {
            'name': 'Part 3A',
            'size': '10',
            'qty' : '20'
        }, {
            'name': 'Part 3B',
            'size': '5',
            'qty' : '20'
        }, {
            'name': 'Part 3C',
            'size': '7.5',
            'qty' : '20'
        }
    ]
};
Run Code Online (Sandbox Code Playgroud)

我想使用这些变量访问数据:

var part1name = "part1.name";
var part2quantity = "part2.qty";
var part3name1 = "part3[0].name";
Run Code Online (Sandbox Code Playgroud)

part1name应该用someObject.part1.name's值填充,即"Part …

javascript jquery nested path

410
推荐指数
16
解决办法
18万
查看次数

将点符号中的JavaScript字符串转换为对象引用

给定一个JS对象

var obj = { a: { b: '1', c: '2' } }
Run Code Online (Sandbox Code Playgroud)

和一个字符串

"a.b"
Run Code Online (Sandbox Code Playgroud)

如何将字符串转换为点符号,以便我可以去

var val = obj.a.b
Run Code Online (Sandbox Code Playgroud)

如果字符串只是'a'我可以使用,'a'但这更复杂.我想有一些简单的方法,但它目前逃脱了.

javascript

188
推荐指数
13
解决办法
10万
查看次数

如何通过嵌套对象属性对JavaScript对象数组进行排序?

我有这个函数来根据属性对JavaScript对象数组进行排序:

// arr is the array of objects, prop is the property to sort by
var sort = function (prop, arr) {
    arr.sort(function (a, b) {
        if (a[prop] < b[prop]) {
            return -1;
        } else if (a[prop] > b[prop]) {
            return 1;
        } else {
            return 0;
        }
    });
};
Run Code Online (Sandbox Code Playgroud)

它适用于这样的数组:

sort('property', [
    {property:'1'},
    {property:'3'},
    {property:'2'},
    {property:'4'},
]);
Run Code Online (Sandbox Code Playgroud)

但是我希望能够通过嵌套属性进行排序,例如:

sort('nestedobj.property', [
    {nestedobj:{property:'1'}},
    {nestedobj:{property:'3'}},
    {nestedobj:{property:'2'}},
    {nestedobj:{property:'4'}}
]);
Run Code Online (Sandbox Code Playgroud)

然而,这不起作用,因为它不可能做类似的事情object['nestedobj.property'],它应该是object['nestedobj']['property'].

你知道我怎么能解决这个问题并使我的函数与嵌套对象的属性一起工作?

提前致谢

javascript arrays sorting

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

如何对对象的JS对象进行排序?

我在PHP中构建了一个对象,使用了JSON_encode函数并通过ajax将其作为JSON字符串发送到我的JS脚本.然后我将它转换回一个对象.我遇到的问题是我想按照最初创建的顺序保留对象.请将这个对象看成是什么,一旦我进入JS,请看这个图片:

在此输入图像描述

当我创建对象时,它按字母顺序按客户字段排序.以A开头的客户名称将首先出现,B秒等等.正如您所看到的,现在,对象的第一个元素是以S开头的客户.看起来它以某种方式按照顶层的键自动排序对象,这是一个整数,所以我理解为什么会这样.

所以我想做的是重新排序这个对象,以便按customer字母顺序按字段对所有子对象进行排序.这可能吗?如果是这样,我该怎么办?

谢谢!

javascript sorting json jsobject

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

标签 统计

javascript ×6

sorting ×2

arrays ×1

jquery ×1

jsobject ×1

json ×1

nested ×1

path ×1