jQuery 通过索引获取数组的值

发布于 2024-09-18 07:29:02 字数 417 浏览 8 评论 0原文

使用 jQuery,我尝试使用索引获取 fileTypes 的值。我不知道如何执行此操作,但到目前为止我已经尝试过 settings.fileTypes[0] 但不起作用。任何帮助表示赞赏,谢谢!

    var defaults = {
        fileTypes : { 
            windows: 'Setup_File.exe',
            mac: 'Setup_File.dmg',
            linux: 'Setup_File.tar.gz',
            iphone: 'iPhone App'
        }
    },
        settings = $.extend({}, defaults, options);

using jQuery, I'm trying to get values of fileTypes by using an index. I'm not sure how to do go about doing this but so far I've tried settings.fileTypes[0] which does not work. Any help is appreciated, thanks!

    var defaults = {
        fileTypes : { 
            windows: 'Setup_File.exe',
            mac: 'Setup_File.dmg',
            linux: 'Setup_File.tar.gz',
            iphone: 'iPhone App'
        }
    },
        settings = $.extend({}, defaults, options);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

甜警司 2024-09-25 07:29:02

fileTypes 是一个对象,因此无法通过索引号访问其属性。

对象不保证任何定义的顺序,因此如果您需要按索引顺序维护项目,则需要使用数组。

要获取给定示例的第一个项目,您可以按名称执行此操作:

settings.fileTypes.windows;  // will return 'Setup_File.exe'

要存储为可以通过索引检索其项目的数组,请尝试以下操作:

var defaults = {
        fileTypes : [
            'Setup_File.exe',
            'Setup_File.dmg',
            'Setup_File.tar.gz',
            'iPhone App'
        ]
    },

settings.fileTypes[0];  // will return 'Setup_File.exe'

或者您可以执行对象数组,但我不认为这就是您想要的正在追寻:

var defaults = {
        fileTypes : [ 
            {type: 'Setup_File.exe'},
            {type: 'Setup_File.dmg'},
            {type: 'Setup_File.tar.gz'},
            {type: 'iPhone App'}
        ]
    },

settings.fileTypes[0].type;  // will return 'Setup_File.exe'

fileTypes is an Object, and as such, its properties can not be access via index number.

Objects do not guarantee any defined order, so if you need to maintain items in an indexed order, you would need to use an Array instead.

To get the first item given your example, you would do so by name:

settings.fileTypes.windows;  // will return 'Setup_File.exe'

To store as an Array whose items you can retrieve by index, try this:

var defaults = {
        fileTypes : [
            'Setup_File.exe',
            'Setup_File.dmg',
            'Setup_File.tar.gz',
            'iPhone App'
        ]
    },

settings.fileTypes[0];  // will return 'Setup_File.exe'

Or you could do an Array of Objects, though I don't think that's what you're after:

var defaults = {
        fileTypes : [ 
            {type: 'Setup_File.exe'},
            {type: 'Setup_File.dmg'},
            {type: 'Setup_File.tar.gz'},
            {type: 'iPhone App'}
        ]
    },

settings.fileTypes[0].type;  // will return 'Setup_File.exe'
坐在坟头思考人生 2024-09-25 07:29:02

如果您的应用程序设计允许,也许您可​​以使用解决方法。
有时它对我有用。

var defaults = {
    fileTypes : {
        0: {
          key: 'windows',
          file: 'Setup_File.exe'
        },
        1: {
          key: 'mac',
          file: 'Setup_File.dmg'
        }
    }
};

通过这种方式,您可以通过索引(按特定顺序)访问第一级元素,如果您需要示例中的键,它们仍然存在。

Perhaps you can use a workaround if your application design allows it.
It worked for me some times.

var defaults = {
    fileTypes : {
        0: {
          key: 'windows',
          file: 'Setup_File.exe'
        },
        1: {
          key: 'mac',
          file: 'Setup_File.dmg'
        }
    }
};

On that way you can access the first level elements by index (in that specific order) and if you need the keys from your example, they are still there.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文