title: Typescript - No index signature with a parameter of type 'string'
body: <p>Things are SIMPLE in Javascript:</p>
  
  <pre><code>interface Person {
    id: number
    red: number
    green: number
    blue: number
    buckets: Array&lt;BucketType&gt;
    // Does the index signature go here? What does it look like?
    // I haven't seen any "standard" way of doing this
  }
  
  interface BucketType {
    color: string,
    weight: number
  }
  
  const personA = {
    id: 123,
    red: 4,
    green: 5,
    blue: 6,
    buckets: [
      {
        color: 'Blue',
        weight: 4
      }
    ]
  }
  const personB = {
    id: 456,
    red: 7,
    green: 8,
    blue: 9,
    buckets: [
      {
        color: 'Red',
        weight: 10
      }
    ]
  }
  const people = [ personA, personB ]
  
  for (let person of people) {
    for (let bucket of person.buckets) {
      console.log(bucket.weight) // 4, then 10
      console.log(bucket.color)  // 'Blue', then 'Red'
      bucket.weight += person[bucket.color.toLowerCase()] // ERROR: NO INDEX SIGNATURE!!!! (Typescript)
      console.log(bucket.weight) // In pure Javascript, this logs '10', then '17'
    }
  
  }
  </code></pre>
  
  <p>Honestly what the hell. How do I add an "index signature" to my person types so I can get on with my life?</p>
  
  <p>Apologies for textually whining, I'm just depleted from making progress then TYPESCRIPT!!!</p>