Home / Lua Scripts Libraries API Manual / dtutils / spairs
< prequire
split >

# spairs

## 🔗NAME

spairs

## 🔗SYNOPSIS

an iterator that provides sorted pairs from a table

## 🔗USAGE

    local du = require "lib/dtutils"
    for key, value in du.spairs(t, order) do
      -- do something
    end

t - table - table of key, value pairs order - function - an optional function to sort the pairs, if none is supplied, table.sort() is used

## 🔗DESCRIPTION

spairs is an iterator that returns key, value pairs from a table in sorted order. The sorting order is the result of table.sort() if no function is supplied, otherwise sorting is done as specified in the function.

## 🔗EXAMPLE

    HighScore = { Robin = 8, Jon = 10, Max = 11 }
    -- basic usage, just sort by the keys
    for k,v in spairs(HighScore) do
      print(k,v)
    end
    --> Jon     10
    --> Max     11
    --> Robin   8
    -- this uses an custom sorting function ordering by score descending
    for k,v in spairs(HighScore, function(t,a,b) return t[b] < t[a] end) do
      print(k,v)
    end
    --> Max     11
    --> Jon     10
    --> Robin   8

## 🔗REFERENCE

Code copied from http://stackoverflow.com/questions/15706270/sort-a-table-in-lua

< prequire
split >