Skip to content

Commit

Permalink
add deepCopy warning messages for randomization/sample functions
Browse files Browse the repository at this point in the history
  • Loading branch information
jadeddelta committed Jan 11, 2025
1 parent 36e64ef commit 8834532
Showing 1 changed file with 11 additions and 1 deletion.
12 changes: 11 additions & 1 deletion docs/reference/jspsych-randomization.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ output:
full_design = {
stimulus: ['a.jpg','b.jpg','b.jpg','a.jpg'],
ms_delay: [200, 100, 200, 100]
]
}
*/
```

Expand Down Expand Up @@ -182,6 +182,8 @@ This method takes an array of values and generates a new random order of the arr

If the array elements are objects with the same set of properties, then this method can optionally return a single object where each property is a randomized order of the properties defined in the original set of objects. This is useful for randomizing sets of parameters that are used to define a jsPsych block.

This returns a shallow copy of the array, i.e. modifications to arrays/objects within this array will affect the original. If this is not desired, consider taking a [`deepCopy`](./jspsych-utils.md#jspsychutilsdeepcopy).

### Examples

#### Shuffle an array, no repeats
Expand Down Expand Up @@ -414,6 +416,8 @@ An array containing the sample.

This method returns a sample drawn at random from a set of values with replacement. The relative probability of drawing each item can be controlled by specifying the `weights`.

This returns a shallow copy of the array, i.e. modifications to arrays/objects within this array will affect the original. If this is not desired, consider taking a [`deepCopy`](./jspsych-utils.md#jspsychutilsdeepcopy).

### Examples

#### Sample with equal probability
Expand Down Expand Up @@ -455,6 +459,8 @@ An array containing the sample.

This method returns a sample drawn at random from a set of values without replacement. The sample size must be less than or equal to the length of the array.

This returns a shallow copy of the array, i.e. modifications to arrays/objects within this array will affect the original. If this is not desired, consider taking a [`deepCopy`](./jspsych-utils.md#jspsychutilsdeepcopy).

### Examples

#### Sample without replacement
Expand Down Expand Up @@ -532,6 +538,8 @@ Returns an array with the same elements as the input array in a random order.

A simple method for shuffling the order of an array.

This returns a shallow copy of the array, i.e. modifications to arrays/objects within this array will affect the original. If this is not desired, consider taking a [`deepCopy`](./jspsych-utils.md#jspsychutilsdeepcopy).

### Examples

#### Shuffle an array
Expand Down Expand Up @@ -565,6 +573,8 @@ Returns an array with the same elements as the input array in a random order, wi

Shuffle an array, ensuring that neighboring elements in the array are different.

This returns a shallow copy of the array, i.e. modifications to arrays/objects within this array will affect the original. If this is not desired, consider taking a [`deepCopy`](./jspsych-utils.md#jspsychutilsdeepcopy).

*Warning: if you provide an array that has very few valid permutations with no neighboring elements, then this method will fail and cause the browser to hang.*

### Examples
Expand Down

0 comments on commit 8834532

Please sign in to comment.