---
title: "sortera 2d-array"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/55114-sortera-2d-array"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Poffe"
published: "2002-10-04T14:42:16.000Z"
updated: "2002-10-05T11:05:20.000Z"
replies: 4
views: 318
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/55114-sortera-2d-array"
---

# sortera 2d-array

## #1 — Poffe, 2002-10-04T14:42Z

Nån som vet nått smart sätt att storera en 2d-array? har testat 4guysfromrolla's men den sorterar bara de två försa posterna i arrayn samt slänger om värderna, alltså så:

arr(1, 1) blir arr(0, 1)
och arr(0, 1) blir arr(1, 1)

Fast som sagt bara på de två första posterna i arrayn.. nån som vet jaf jag gör för fel (har bara kopierat koden rakt av och satt in på min sida) eller nån som har nått annat knep?

Permalänk: https://www.webforum.nu/p/55114

## #2 — Poffe, 2002-10-04T14:47Z

rättelse: den soretrar inte ens, bara slänger om värderna som jag sa

Permalänk: https://www.webforum.nu/p/810587

## #3 — PatrikB, 2002-10-04T17:55Z

jepp, det vet jag :e

Testa denna:

```
<%
Option Explicit

Dim varTemp
Dim N
Dim varArray(2,3)

varArray(0,0) = 1
varArray(1,0) = "Patrik"
varArray(2,0) = "Berggren"
varArray(0,1) = 4
varArray(1,1) = "Anders"
varArray(2,1) = "Andersson"
varArray(0,2) = 2
varArray(1,2) = "Bertil"
varArray(2,2) = "Bertilsson"
varArray(0,3) = 3
varArray(1,3) = "Ove"
varArray(2,3) = "Ovesson"

%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Sort 2D-Array Ascending or Descending</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>

<BODY bgcolor="#FFFFFF" text="#000000">
<%
'## -- sortera på efternamn.
'## -- för att sortera på id byt 2:an till positionen för id - 0 - eller
'## -- för förnamn byt till den positionen - 1 --
varTemp = Sort2D(varArray, "desc", 2)

If IsArray(varTemp) Then
	For N = 0 TO UBound(varTemp,2)
		Response.Write "ID: " & varTemp(0,N) & " - " & varTemp(1,N) & " " & varTemp(2,N) & "<BR>" 
	Next
End If
%>
</BODY>
</HTML>
<%
Public Function Sort2D(ByVal ArrayToSort, ByVal sSortOrder, ByVal iPos)
	Dim intMaxIndex ' As Integer
	Dim I, X ' As Integer
	Dim varTemp ' As Variant
	Dim intPositions, intPos
	
	intMaxIndex = UBound(ArrayToSort,2)
	
	
	'## -- get total positions in array --
	intPositions = UBound(ArrayToSort,1)
	
	Select Case UCase(sSortOrder)
		Case "ASC"
			'## -- sort ascending --
			For I = 0 To intMaxIndex
				For X = (I + 1) To intMaxIndex
					If ArrayToSort(iPos, I) > ArrayToSort(iPos,X) Then
						For intPos  = 0 To intPositions
							varTemp = ArrayToSort(intPos, I)
							ArrayToSort(intPos, I) = ArrayToSort(intPos, X)
							ArrayToSort(intPos, X) = varTemp
						Next
					End If
				Next
			Next
	
		Case "DESC"
			'## -- sort descending --
			For I = 0 To intMaxIndex
				For X = (I + 1) To intMaxIndex
					If ArrayToSort(iPos, I) < ArrayToSort(iPos,X) Then
						For intPos  = 0 To intPositions
							varTemp = ArrayToSort(intPos, I)
							ArrayToSort(intPos, I) = ArrayToSort(intPos, X)
							ArrayToSort(intPos, X) = varTemp
						Next
					End If
				Next
			Next
	
	End Select
	
	'## -- return sorted array --
	Sort2D = ArrayToSort
End Function

%>
```

cya,
PatrikB

Permalänk: https://www.webforum.nu/p/810740

## #4 — Poffe, 2002-10-04T22:03Z

klockrent! tack så jätte mycket!!

Permalänk: https://www.webforum.nu/p/810968

## #5 — PatrikB, 2002-10-05T11:05Z

vasse'go 

cya,
PatrikB

Permalänk: https://www.webforum.nu/p/811198

---

Tråden på webben: https://www.webforum.nu/amne/asp/55114-sortera-2d-array
